java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/list-simple/sll2c_prepend_unequal_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:52:02,130 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:52:02,133 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:52:02,146 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:52:02,146 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:52:02,147 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:52:02,148 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:52:02,150 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:52:02,152 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:52:02,153 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:52:02,154 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:52:02,154 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:52:02,155 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:52:02,156 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:52:02,157 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:52:02,158 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:52:02,159 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:52:02,161 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:52:02,162 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:52:02,164 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:52:02,165 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:52:02,166 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:52:02,168 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:52:02,169 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:52:02,169 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:52:02,170 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:52:02,171 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:52:02,172 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:52:02,173 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:52:02,174 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:52:02,174 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:52:02,175 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:52:02,175 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:52:02,175 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:52:02,176 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:52:02,177 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:52:02,177 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-18 23:52:02,192 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:52:02,192 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:52:02,193 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:52:02,194 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:52:02,194 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:52:02,194 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:52:02,195 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:52:02,195 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:52:02,195 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:52:02,195 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:52:02,195 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:52:02,196 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:52:02,196 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:52:02,196 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:52:02,196 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:52:02,196 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:52:02,197 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:52:02,197 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:52:02,197 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:52:02,197 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:52:02,197 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:52:02,197 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:52:02,198 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:52:02,198 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:52:02,198 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:52:02,198 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:52:02,198 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:52:02,199 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:52:02,199 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:52:02,199 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:52:02,199 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:52:02,244 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:52:02,258 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:52:02,261 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:52:02,263 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:52:02,264 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:52:02,264 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-simple/sll2c_prepend_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-18 23:52:02,321 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/366f2403c/a57df2a3635147fcbe37ef34b8e8d67a/FLAG6d9ffeb24 [2018-11-18 23:52:02,860 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:52:02,861 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-simple/sll2c_prepend_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-18 23:52:02,883 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/366f2403c/a57df2a3635147fcbe37ef34b8e8d67a/FLAG6d9ffeb24 [2018-11-18 23:52:03,092 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/366f2403c/a57df2a3635147fcbe37ef34b8e8d67a [2018-11-18 23:52:03,101 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:52:03,102 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:52:03,103 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:52:03,104 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:52:03,108 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:52:03,109 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,112 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@72fed3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03, skipping insertion in model container [2018-11-18 23:52:03,113 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,123 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:52:03,171 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:52:03,606 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:52:03,617 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:52:03,704 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:52:03,781 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:52:03,782 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03 WrapperNode [2018-11-18 23:52:03,782 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:52:03,783 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:52:03,784 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:52:03,784 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:52:03,873 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,873 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,897 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,898 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,933 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,943 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,948 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... [2018-11-18 23:52:03,967 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:52:03,967 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:52:03,968 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:52:03,968 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:52:03,970 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:52:04,023 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:52:04,024 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:52:04,024 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2018-11-18 23:52:04,024 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2018-11-18 23:52:04,024 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-18 23:52:04,024 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2018-11-18 23:52:04,025 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_circular_create [2018-11-18 23:52:04,025 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_circular_destroy [2018-11-18 23:52:04,025 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_circular_prepend [2018-11-18 23:52:04,025 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:52:04,025 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:52:04,025 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2018-11-18 23:52:04,026 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2018-11-18 23:52:04,026 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2018-11-18 23:52:04,026 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2018-11-18 23:52:04,026 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2018-11-18 23:52:04,026 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2018-11-18 23:52:04,026 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2018-11-18 23:52:04,027 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2018-11-18 23:52:04,027 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2018-11-18 23:52:04,027 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2018-11-18 23:52:04,027 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2018-11-18 23:52:04,027 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2018-11-18 23:52:04,027 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure select [2018-11-18 23:52:04,028 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure random [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2018-11-18 23:52:04,029 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2018-11-18 23:52:04,030 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2018-11-18 23:52:04,031 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2018-11-18 23:52:04,032 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2018-11-18 23:52:04,033 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2018-11-18 23:52:04,033 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2018-11-18 23:52:04,033 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2018-11-18 23:52:04,033 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2018-11-18 23:52:04,033 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2018-11-18 23:52:04,033 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure free [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2018-11-18 23:52:04,034 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2018-11-18 23:52:04,035 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2018-11-18 23:52:04,035 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2018-11-18 23:52:04,036 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2018-11-18 23:52:04,036 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-18 23:52:04,036 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2018-11-18 23:52:04,036 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2018-11-18 23:52:04,036 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2018-11-18 23:52:04,037 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2018-11-18 23:52:04,037 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2018-11-18 23:52:04,038 INFO L130 BoogieDeclarations]: Found specification of procedure system [2018-11-18 23:52:04,039 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2018-11-18 23:52:04,039 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2018-11-18 23:52:04,039 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2018-11-18 23:52:04,039 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2018-11-18 23:52:04,039 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2018-11-18 23:52:04,039 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2018-11-18 23:52:04,041 INFO L130 BoogieDeclarations]: Found specification of procedure div [2018-11-18 23:52:04,042 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2018-11-18 23:52:04,042 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2018-11-18 23:52:04,042 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2018-11-18 23:52:04,042 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2018-11-18 23:52:04,042 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2018-11-18 23:52:04,043 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2018-11-18 23:52:04,043 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2018-11-18 23:52:04,043 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2018-11-18 23:52:04,043 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2018-11-18 23:52:04,043 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2018-11-18 23:52:04,043 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2018-11-18 23:52:04,044 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure sll_circular_create [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure sll_circular_destroy [2018-11-18 23:52:04,045 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure sll_circular_prepend [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:52:04,046 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:52:05,208 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:52:05,209 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:52:05 BoogieIcfgContainer [2018-11-18 23:52:05,209 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:52:05,210 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:52:05,210 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:52:05,214 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:52:05,214 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:52:03" (1/3) ... [2018-11-18 23:52:05,215 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43c42196 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:52:05, skipping insertion in model container [2018-11-18 23:52:05,215 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:03" (2/3) ... [2018-11-18 23:52:05,216 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43c42196 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:52:05, skipping insertion in model container [2018-11-18 23:52:05,216 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:52:05" (3/3) ... [2018-11-18 23:52:05,218 INFO L112 eAbstractionObserver]: Analyzing ICFG sll2c_prepend_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-18 23:52:05,228 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:52:05,238 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:52:05,256 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:52:05,290 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:52:05,290 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:52:05,291 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:52:05,291 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:52:05,291 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:52:05,291 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:52:05,292 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:52:05,292 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:52:05,292 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:52:05,310 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states. [2018-11-18 23:52:05,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-18 23:52:05,318 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:52:05,319 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] [2018-11-18 23:52:05,321 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:52:05,327 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:52:05,328 INFO L82 PathProgramCache]: Analyzing trace with hash -579085372, now seen corresponding path program 1 times [2018-11-18 23:52:05,329 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:52:05,330 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:52:05,386 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:05,386 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:05,386 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:05,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:05,610 INFO L256 TraceCheckUtils]: 0: Hoare triple {62#true} call ULTIMATE.init(); {62#true} is VALID [2018-11-18 23:52:05,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {62#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {62#true} is VALID [2018-11-18 23:52:05,616 INFO L273 TraceCheckUtils]: 2: Hoare triple {62#true} assume true; {62#true} is VALID [2018-11-18 23:52:05,616 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {62#true} {62#true} #144#return; {62#true} is VALID [2018-11-18 23:52:05,617 INFO L256 TraceCheckUtils]: 4: Hoare triple {62#true} call #t~ret24 := main(); {62#true} is VALID [2018-11-18 23:52:05,617 INFO L273 TraceCheckUtils]: 5: Hoare triple {62#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); {62#true} is VALID [2018-11-18 23:52:05,618 INFO L256 TraceCheckUtils]: 6: Hoare triple {62#true} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {62#true} is VALID [2018-11-18 23:52:05,618 INFO L273 TraceCheckUtils]: 7: Hoare triple {62#true} ~len := #in~len;~data := #in~data; {62#true} is VALID [2018-11-18 23:52:05,618 INFO L256 TraceCheckUtils]: 8: Hoare triple {62#true} call #t~ret3.base, #t~ret3.offset := node_create(~data); {62#true} is VALID [2018-11-18 23:52:05,619 INFO L273 TraceCheckUtils]: 9: Hoare triple {62#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; {62#true} is VALID [2018-11-18 23:52:05,619 INFO L273 TraceCheckUtils]: 10: Hoare triple {62#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {62#true} is VALID [2018-11-18 23:52:05,620 INFO L273 TraceCheckUtils]: 11: Hoare triple {62#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {62#true} is VALID [2018-11-18 23:52:05,620 INFO L273 TraceCheckUtils]: 12: Hoare triple {62#true} assume true; {62#true} is VALID [2018-11-18 23:52:05,621 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {62#true} {62#true} #138#return; {62#true} is VALID [2018-11-18 23:52:05,621 INFO L273 TraceCheckUtils]: 14: Hoare triple {62#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; {62#true} is VALID [2018-11-18 23:52:05,634 INFO L273 TraceCheckUtils]: 15: Hoare triple {62#true} assume !true; {63#false} is VALID [2018-11-18 23:52:05,635 INFO L273 TraceCheckUtils]: 16: Hoare triple {63#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {63#false} is VALID [2018-11-18 23:52:05,635 INFO L273 TraceCheckUtils]: 17: Hoare triple {63#false} assume true; {63#false} is VALID [2018-11-18 23:52:05,636 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {63#false} {62#true} #132#return; {63#false} is VALID [2018-11-18 23:52:05,636 INFO L273 TraceCheckUtils]: 19: Hoare triple {63#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; {63#false} is VALID [2018-11-18 23:52:05,636 INFO L256 TraceCheckUtils]: 20: Hoare triple {63#false} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {62#true} is VALID [2018-11-18 23:52:05,637 INFO L273 TraceCheckUtils]: 21: Hoare triple {62#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {62#true} is VALID [2018-11-18 23:52:05,637 INFO L256 TraceCheckUtils]: 22: Hoare triple {62#true} call #t~ret8.base, #t~ret8.offset := node_create(~data); {62#true} is VALID [2018-11-18 23:52:05,638 INFO L273 TraceCheckUtils]: 23: Hoare triple {62#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; {62#true} is VALID [2018-11-18 23:52:05,638 INFO L273 TraceCheckUtils]: 24: Hoare triple {62#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {62#true} is VALID [2018-11-18 23:52:05,638 INFO L273 TraceCheckUtils]: 25: Hoare triple {62#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {62#true} is VALID [2018-11-18 23:52:05,639 INFO L273 TraceCheckUtils]: 26: Hoare triple {62#true} assume true; {62#true} is VALID [2018-11-18 23:52:05,639 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {62#true} {62#true} #142#return; {62#true} is VALID [2018-11-18 23:52:05,639 INFO L273 TraceCheckUtils]: 28: Hoare triple {62#true} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {62#true} is VALID [2018-11-18 23:52:05,640 INFO L273 TraceCheckUtils]: 29: Hoare triple {62#true} assume 0 == #t~mem9.base && 0 == #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~new_head~1.base, ~new_head~1.offset, 4); {62#true} is VALID [2018-11-18 23:52:05,640 INFO L273 TraceCheckUtils]: 30: Hoare triple {62#true} assume true; {62#true} is VALID [2018-11-18 23:52:05,641 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {62#true} {63#false} #134#return; {63#false} is VALID [2018-11-18 23:52:05,641 INFO L273 TraceCheckUtils]: 32: Hoare triple {63#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {63#false} is VALID [2018-11-18 23:52:05,641 INFO L273 TraceCheckUtils]: 33: Hoare triple {63#false} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {63#false} is VALID [2018-11-18 23:52:05,642 INFO L273 TraceCheckUtils]: 34: Hoare triple {63#false} assume !false; {63#false} is VALID [2018-11-18 23:52:05,650 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-18 23:52:05,653 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:52:05,654 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:52:05,659 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 35 [2018-11-18 23:52:05,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:52:05,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:52:05,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:05,813 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:52:05,823 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:52:05,824 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:52:05,826 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 2 states. [2018-11-18 23:52:06,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:06,491 INFO L93 Difference]: Finished difference Result 104 states and 130 transitions. [2018-11-18 23:52:06,491 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:52:06,491 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 35 [2018-11-18 23:52:06,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:52:06,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:52:06,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 130 transitions. [2018-11-18 23:52:06,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:52:06,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 130 transitions. [2018-11-18 23:52:06,516 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 130 transitions. [2018-11-18 23:52:06,857 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:06,871 INFO L225 Difference]: With dead ends: 104 [2018-11-18 23:52:06,872 INFO L226 Difference]: Without dead ends: 43 [2018-11-18 23:52:06,877 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:52:06,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-18 23:52:06,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2018-11-18 23:52:06,942 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:52:06,942 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 43 states. [2018-11-18 23:52:06,943 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 43 states. [2018-11-18 23:52:06,943 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 43 states. [2018-11-18 23:52:06,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:06,950 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2018-11-18 23:52:06,950 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2018-11-18 23:52:06,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:06,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:06,952 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 43 states. [2018-11-18 23:52:06,952 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 43 states. [2018-11-18 23:52:06,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:06,958 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2018-11-18 23:52:06,958 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2018-11-18 23:52:06,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:06,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:06,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:52:06,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:52:06,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-18 23:52:06,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 50 transitions. [2018-11-18 23:52:06,967 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 50 transitions. Word has length 35 [2018-11-18 23:52:06,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:52:06,967 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 50 transitions. [2018-11-18 23:52:06,968 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:52:06,968 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2018-11-18 23:52:06,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-18 23:52:06,969 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:52:06,970 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] [2018-11-18 23:52:06,970 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:52:06,970 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:52:06,971 INFO L82 PathProgramCache]: Analyzing trace with hash 1636852463, now seen corresponding path program 1 times [2018-11-18 23:52:06,971 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:52:06,971 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:52:06,973 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:06,973 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:06,974 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:07,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:07,192 INFO L256 TraceCheckUtils]: 0: Hoare triple {348#true} call ULTIMATE.init(); {348#true} is VALID [2018-11-18 23:52:07,193 INFO L273 TraceCheckUtils]: 1: Hoare triple {348#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {348#true} is VALID [2018-11-18 23:52:07,193 INFO L273 TraceCheckUtils]: 2: Hoare triple {348#true} assume true; {348#true} is VALID [2018-11-18 23:52:07,194 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {348#true} {348#true} #144#return; {348#true} is VALID [2018-11-18 23:52:07,195 INFO L256 TraceCheckUtils]: 4: Hoare triple {348#true} call #t~ret24 := main(); {348#true} is VALID [2018-11-18 23:52:07,200 INFO L273 TraceCheckUtils]: 5: Hoare triple {348#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); {350#(<= 2 main_~len~0)} is VALID [2018-11-18 23:52:07,200 INFO L256 TraceCheckUtils]: 6: Hoare triple {350#(<= 2 main_~len~0)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {348#true} is VALID [2018-11-18 23:52:07,201 INFO L273 TraceCheckUtils]: 7: Hoare triple {348#true} ~len := #in~len;~data := #in~data; {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-18 23:52:07,201 INFO L256 TraceCheckUtils]: 8: Hoare triple {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {348#true} is VALID [2018-11-18 23:52:07,201 INFO L273 TraceCheckUtils]: 9: Hoare triple {348#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; {348#true} is VALID [2018-11-18 23:52:07,202 INFO L273 TraceCheckUtils]: 10: Hoare triple {348#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {348#true} is VALID [2018-11-18 23:52:07,202 INFO L273 TraceCheckUtils]: 11: Hoare triple {348#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {348#true} is VALID [2018-11-18 23:52:07,202 INFO L273 TraceCheckUtils]: 12: Hoare triple {348#true} assume true; {348#true} is VALID [2018-11-18 23:52:07,209 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {348#true} {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} #138#return; {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-18 23:52:07,210 INFO L273 TraceCheckUtils]: 14: Hoare triple {351#(<= |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; {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-18 23:52:07,214 INFO L273 TraceCheckUtils]: 15: Hoare triple {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} assume true; {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-18 23:52:07,215 INFO L273 TraceCheckUtils]: 16: Hoare triple {351#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} assume !(~len > 1); {352#(<= |sll_circular_create_#in~len| 1)} is VALID [2018-11-18 23:52:07,215 INFO L273 TraceCheckUtils]: 17: Hoare triple {352#(<= |sll_circular_create_#in~len| 1)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {352#(<= |sll_circular_create_#in~len| 1)} is VALID [2018-11-18 23:52:07,217 INFO L273 TraceCheckUtils]: 18: Hoare triple {352#(<= |sll_circular_create_#in~len| 1)} assume true; {352#(<= |sll_circular_create_#in~len| 1)} is VALID [2018-11-18 23:52:07,221 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {352#(<= |sll_circular_create_#in~len| 1)} {350#(<= 2 main_~len~0)} #132#return; {349#false} is VALID [2018-11-18 23:52:07,221 INFO L273 TraceCheckUtils]: 20: Hoare triple {349#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; {349#false} is VALID [2018-11-18 23:52:07,222 INFO L256 TraceCheckUtils]: 21: Hoare triple {349#false} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {348#true} is VALID [2018-11-18 23:52:07,222 INFO L273 TraceCheckUtils]: 22: Hoare triple {348#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {348#true} is VALID [2018-11-18 23:52:07,222 INFO L256 TraceCheckUtils]: 23: Hoare triple {348#true} call #t~ret8.base, #t~ret8.offset := node_create(~data); {348#true} is VALID [2018-11-18 23:52:07,223 INFO L273 TraceCheckUtils]: 24: Hoare triple {348#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; {348#true} is VALID [2018-11-18 23:52:07,223 INFO L273 TraceCheckUtils]: 25: Hoare triple {348#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {348#true} is VALID [2018-11-18 23:52:07,223 INFO L273 TraceCheckUtils]: 26: Hoare triple {348#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {348#true} is VALID [2018-11-18 23:52:07,223 INFO L273 TraceCheckUtils]: 27: Hoare triple {348#true} assume true; {348#true} is VALID [2018-11-18 23:52:07,224 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {348#true} {348#true} #142#return; {348#true} is VALID [2018-11-18 23:52:07,224 INFO L273 TraceCheckUtils]: 29: Hoare triple {348#true} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {348#true} is VALID [2018-11-18 23:52:07,224 INFO L273 TraceCheckUtils]: 30: Hoare triple {348#true} assume 0 == #t~mem9.base && 0 == #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~new_head~1.base, ~new_head~1.offset, 4); {348#true} is VALID [2018-11-18 23:52:07,225 INFO L273 TraceCheckUtils]: 31: Hoare triple {348#true} assume true; {348#true} is VALID [2018-11-18 23:52:07,225 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {348#true} {349#false} #134#return; {349#false} is VALID [2018-11-18 23:52:07,225 INFO L273 TraceCheckUtils]: 33: Hoare triple {349#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {349#false} is VALID [2018-11-18 23:52:07,226 INFO L273 TraceCheckUtils]: 34: Hoare triple {349#false} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {349#false} is VALID [2018-11-18 23:52:07,226 INFO L273 TraceCheckUtils]: 35: Hoare triple {349#false} assume !false; {349#false} is VALID [2018-11-18 23:52:07,229 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-18 23:52:07,229 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:52:07,230 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-18 23:52:07,231 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 36 [2018-11-18 23:52:07,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:52:07,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-18 23:52:07,356 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:07,357 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-18 23:52:07,357 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-18 23:52:07,357 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-18 23:52:07,358 INFO L87 Difference]: Start difference. First operand 43 states and 50 transitions. Second operand 5 states. [2018-11-18 23:52:07,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:07,990 INFO L93 Difference]: Finished difference Result 76 states and 89 transitions. [2018-11-18 23:52:07,990 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-18 23:52:07,990 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 36 [2018-11-18 23:52:07,991 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:52:07,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:52:07,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 89 transitions. [2018-11-18 23:52:07,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:52:08,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 89 transitions. [2018-11-18 23:52:08,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 89 transitions. [2018-11-18 23:52:08,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:08,213 INFO L225 Difference]: With dead ends: 76 [2018-11-18 23:52:08,213 INFO L226 Difference]: Without dead ends: 47 [2018-11-18 23:52:08,214 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:52:08,215 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-18 23:52:08,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 45. [2018-11-18 23:52:08,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:52:08,267 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 45 states. [2018-11-18 23:52:08,267 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 45 states. [2018-11-18 23:52:08,267 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 45 states. [2018-11-18 23:52:08,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:08,272 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2018-11-18 23:52:08,272 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2018-11-18 23:52:08,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:08,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:08,273 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 47 states. [2018-11-18 23:52:08,274 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 47 states. [2018-11-18 23:52:08,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:08,279 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2018-11-18 23:52:08,279 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2018-11-18 23:52:08,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:08,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:08,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:52:08,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:52:08,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-18 23:52:08,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2018-11-18 23:52:08,285 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 36 [2018-11-18 23:52:08,285 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:52:08,285 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-18 23:52:08,285 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-18 23:52:08,285 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2018-11-18 23:52:08,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-18 23:52:08,288 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:52:08,291 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] [2018-11-18 23:52:08,291 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:52:08,291 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:52:08,292 INFO L82 PathProgramCache]: Analyzing trace with hash 609633090, now seen corresponding path program 1 times [2018-11-18 23:52:08,292 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:52:08,292 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:52:08,296 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:08,296 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:08,296 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:08,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:09,174 WARN L180 SmtUtils]: Spent 157.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-11-18 23:52:09,906 INFO L256 TraceCheckUtils]: 0: Hoare triple {614#true} call ULTIMATE.init(); {614#true} is VALID [2018-11-18 23:52:09,906 INFO L273 TraceCheckUtils]: 1: Hoare triple {614#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {614#true} is VALID [2018-11-18 23:52:09,906 INFO L273 TraceCheckUtils]: 2: Hoare triple {614#true} assume true; {614#true} is VALID [2018-11-18 23:52:09,907 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {614#true} {614#true} #144#return; {614#true} is VALID [2018-11-18 23:52:09,907 INFO L256 TraceCheckUtils]: 4: Hoare triple {614#true} call #t~ret24 := main(); {614#true} is VALID [2018-11-18 23:52:09,908 INFO L273 TraceCheckUtils]: 5: Hoare triple {614#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); {616#(= (select |#valid| |main_~#s~0.base|) 1)} is VALID [2018-11-18 23:52:09,909 INFO L256 TraceCheckUtils]: 6: Hoare triple {616#(= (select |#valid| |main_~#s~0.base|) 1)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {617#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:09,917 INFO L273 TraceCheckUtils]: 7: Hoare triple {617#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {617#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:09,918 INFO L256 TraceCheckUtils]: 8: Hoare triple {617#(= |#valid| |old(#valid)|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {617#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:09,920 INFO L273 TraceCheckUtils]: 9: Hoare triple {617#(= |#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; {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,921 INFO L273 TraceCheckUtils]: 10: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@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); {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,924 INFO L273 TraceCheckUtils]: 11: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@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, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,925 INFO L273 TraceCheckUtils]: 12: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,926 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} {617#(= |#valid| |old(#valid)|)} #138#return; {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,929 INFO L273 TraceCheckUtils]: 14: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#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; {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,930 INFO L273 TraceCheckUtils]: 15: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,931 INFO L273 TraceCheckUtils]: 16: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 1); {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,933 INFO L256 TraceCheckUtils]: 17: Hoare triple {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#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); {617#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:09,936 INFO L273 TraceCheckUtils]: 18: Hoare triple {617#(= |#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; {619#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,938 INFO L273 TraceCheckUtils]: 19: Hoare triple {619#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {619#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,939 INFO L273 TraceCheckUtils]: 20: Hoare triple {619#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 node_create_~temp~0.base)) (= |#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, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {620#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 |node_create_#res.base|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,940 INFO L273 TraceCheckUtils]: 21: Hoare triple {620#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 |node_create_#res.base|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {620#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 |node_create_#res.base|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,945 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {620#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (not (= 0 |node_create_#res.base|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} {618#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} #140#return; {621#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (not (= 0 |sll_circular_create_#t~ret4.base|)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,948 INFO L273 TraceCheckUtils]: 23: Hoare triple {621#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (not (= 0 |sll_circular_create_#t~ret4.base|)) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} ~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, 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; {622#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_circular_create_~head~0.base)))} is VALID [2018-11-18 23:52:09,951 INFO L273 TraceCheckUtils]: 24: Hoare triple {622#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_circular_create_~head~0.base)))} assume true; {622#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_circular_create_~head~0.base)))} is VALID [2018-11-18 23:52:09,953 INFO L273 TraceCheckUtils]: 25: Hoare triple {622#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_circular_create_~head~0.base)))} assume !(~len > 1); {622#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_circular_create_~head~0.base)))} is VALID [2018-11-18 23:52:09,955 INFO L273 TraceCheckUtils]: 26: Hoare triple {622#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_circular_create_~head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {623#(and (not (= 0 |sll_circular_create_#res.base|)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,956 INFO L273 TraceCheckUtils]: 27: Hoare triple {623#(and (not (= 0 |sll_circular_create_#res.base|)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} assume true; {623#(and (not (= 0 |sll_circular_create_#res.base|)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:09,960 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {623#(and (not (= 0 |sll_circular_create_#res.base|)) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} {616#(= (select |#valid| |main_~#s~0.base|) 1)} #132#return; {624#(and (not (= 0 |main_#t~ret15.base|)) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:52:09,961 INFO L273 TraceCheckUtils]: 29: Hoare triple {624#(and (not (= 0 |main_#t~ret15.base|)) (= (select |#valid| |main_~#s~0.base|) 1))} 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; {625#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:52:09,963 INFO L256 TraceCheckUtils]: 30: Hoare triple {625#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select |#valid| |main_~#s~0.base|) 1))} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {626#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:09,965 INFO L273 TraceCheckUtils]: 31: Hoare triple {626#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {627#(and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= |#valid| |old(#valid)|) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} is VALID [2018-11-18 23:52:09,971 INFO L256 TraceCheckUtils]: 32: Hoare triple {627#(and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= |#valid| |old(#valid)|) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {626#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:09,976 INFO L273 TraceCheckUtils]: 33: Hoare triple {626#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {628#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:09,977 INFO L273 TraceCheckUtils]: 34: Hoare triple {628#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {628#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:09,978 INFO L273 TraceCheckUtils]: 35: Hoare triple {628#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {629#(and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2018-11-18 23:52:09,982 INFO L273 TraceCheckUtils]: 36: Hoare triple {629#(and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {629#(and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2018-11-18 23:52:09,988 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {629#(and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {627#(and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= |#valid| |old(#valid)|) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} #142#return; {630#(and (or (= 0 (select |old(#valid)| sll_circular_prepend_~head.base)) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base))) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} is VALID [2018-11-18 23:52:09,989 INFO L273 TraceCheckUtils]: 38: Hoare triple {630#(and (or (= 0 (select |old(#valid)| sll_circular_prepend_~head.base)) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base))) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {631#(and (or (= 0 (select |old(#valid)| sll_circular_prepend_~head.base)) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base))) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} is VALID [2018-11-18 23:52:09,990 INFO L273 TraceCheckUtils]: 39: Hoare triple {631#(and (or (= 0 (select |old(#valid)| sll_circular_prepend_~head.base)) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base))) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))} assume 0 == #t~mem9.base && 0 == #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~new_head~1.base, ~new_head~1.offset, 4); {632#(or (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (= 0 (select |old(#valid)| |sll_circular_prepend_#in~head.base|)))} is VALID [2018-11-18 23:52:09,991 INFO L273 TraceCheckUtils]: 40: Hoare triple {632#(or (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (= 0 (select |old(#valid)| |sll_circular_prepend_#in~head.base|)))} assume true; {632#(or (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (= 0 (select |old(#valid)| |sll_circular_prepend_#in~head.base|)))} is VALID [2018-11-18 23:52:09,992 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {632#(or (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (= 0 (select |old(#valid)| |sll_circular_prepend_#in~head.base|)))} {625#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select |#valid| |main_~#s~0.base|) 1))} #134#return; {615#false} is VALID [2018-11-18 23:52:09,993 INFO L273 TraceCheckUtils]: 42: Hoare triple {615#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {615#false} is VALID [2018-11-18 23:52:09,993 INFO L273 TraceCheckUtils]: 43: Hoare triple {615#false} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {615#false} is VALID [2018-11-18 23:52:09,994 INFO L273 TraceCheckUtils]: 44: Hoare triple {615#false} assume !false; {615#false} is VALID [2018-11-18 23:52:10,010 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-18 23:52:10,010 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:52:10,010 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:52:10,029 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:10,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:10,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:10,172 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:52:10,709 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:52:10,715 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:52:10,719 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:10,722 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:10,743 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:10,744 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:15 [2018-11-18 23:52:10,748 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:11,230 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-18 23:52:11,234 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-18 23:52:11,236 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,240 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,257 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,258 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:28, output treesize:24 [2018-11-18 23:52:11,617 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 20 [2018-11-18 23:52:11,634 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:52:11,636 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,693 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 19 treesize of output 31 [2018-11-18 23:52:11,746 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-18 23:52:11,748 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,860 INFO L267 ElimStorePlain]: Start of recursive call 4: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,883 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:11,906 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:52:11,906 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:109, output treesize:96 [2018-11-18 23:52:14,149 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:14,637 WARN L180 SmtUtils]: Spent 198.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 35 [2018-11-18 23:52:14,649 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:52:14,650 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 51 [2018-11-18 23:52:14,669 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 15 [2018-11-18 23:52:14,671 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,705 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 28 [2018-11-18 23:52:14,717 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 11 [2018-11-18 23:52:14,723 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,739 INFO L682 Elim1Store]: detected equality via solver [2018-11-18 23:52:14,741 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 19 [2018-11-18 23:52:14,753 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2018-11-18 23:52:14,756 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,761 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,764 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,811 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,845 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:14,846 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 2 variables, input treesize:110, output treesize:28 [2018-11-18 23:52:17,049 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:17,196 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-18 23:52:17,202 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 21 treesize of output 13 [2018-11-18 23:52:17,206 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,208 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,295 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 17 [2018-11-18 23:52:17,306 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 17 treesize of output 7 [2018-11-18 23:52:17,330 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,354 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,364 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:52:17,368 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-18 23:52:17,369 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,371 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,376 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:17,377 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:42, output treesize:7 [2018-11-18 23:52:17,381 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:17,467 INFO L256 TraceCheckUtils]: 0: Hoare triple {614#true} call ULTIMATE.init(); {614#true} is VALID [2018-11-18 23:52:17,467 INFO L273 TraceCheckUtils]: 1: Hoare triple {614#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {614#true} is VALID [2018-11-18 23:52:17,468 INFO L273 TraceCheckUtils]: 2: Hoare triple {614#true} assume true; {614#true} is VALID [2018-11-18 23:52:17,468 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {614#true} {614#true} #144#return; {614#true} is VALID [2018-11-18 23:52:17,468 INFO L256 TraceCheckUtils]: 4: Hoare triple {614#true} call #t~ret24 := main(); {614#true} is VALID [2018-11-18 23:52:17,470 INFO L273 TraceCheckUtils]: 5: Hoare triple {614#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); {651#(= |main_~#s~0.offset| 0)} is VALID [2018-11-18 23:52:17,471 INFO L256 TraceCheckUtils]: 6: Hoare triple {651#(= |main_~#s~0.offset| 0)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {614#true} is VALID [2018-11-18 23:52:17,471 INFO L273 TraceCheckUtils]: 7: Hoare triple {614#true} ~len := #in~len;~data := #in~data; {614#true} is VALID [2018-11-18 23:52:17,471 INFO L256 TraceCheckUtils]: 8: Hoare triple {614#true} call #t~ret3.base, #t~ret3.offset := node_create(~data); {614#true} is VALID [2018-11-18 23:52:17,472 INFO L273 TraceCheckUtils]: 9: Hoare triple {614#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; {614#true} is VALID [2018-11-18 23:52:17,472 INFO L273 TraceCheckUtils]: 10: Hoare triple {614#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {614#true} is VALID [2018-11-18 23:52:17,472 INFO L273 TraceCheckUtils]: 11: Hoare triple {614#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {614#true} is VALID [2018-11-18 23:52:17,473 INFO L273 TraceCheckUtils]: 12: Hoare triple {614#true} assume true; {614#true} is VALID [2018-11-18 23:52:17,473 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {614#true} {614#true} #138#return; {614#true} is VALID [2018-11-18 23:52:17,473 INFO L273 TraceCheckUtils]: 14: Hoare triple {614#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; {614#true} is VALID [2018-11-18 23:52:17,473 INFO L273 TraceCheckUtils]: 15: Hoare triple {614#true} assume true; {614#true} is VALID [2018-11-18 23:52:17,474 INFO L273 TraceCheckUtils]: 16: Hoare triple {614#true} assume !!(~len > 1); {614#true} is VALID [2018-11-18 23:52:17,474 INFO L256 TraceCheckUtils]: 17: Hoare triple {614#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {614#true} is VALID [2018-11-18 23:52:17,484 INFO L273 TraceCheckUtils]: 18: Hoare triple {614#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; {691#(= node_create_~temp~0.offset 0)} is VALID [2018-11-18 23:52:17,493 INFO L273 TraceCheckUtils]: 19: Hoare triple {691#(= node_create_~temp~0.offset 0)} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {695#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:52:17,495 INFO L273 TraceCheckUtils]: 20: Hoare triple {695#(not (= 0 node_create_~temp~0.base))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {699#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:52:17,495 INFO L273 TraceCheckUtils]: 21: Hoare triple {699#(not (= 0 |node_create_#res.base|))} assume true; {699#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:52:17,498 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {699#(not (= 0 |node_create_#res.base|))} {614#true} #140#return; {706#(not (= 0 |sll_circular_create_#t~ret4.base|))} is VALID [2018-11-18 23:52:17,499 INFO L273 TraceCheckUtils]: 23: Hoare triple {706#(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, 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; {710#(not (= sll_circular_create_~head~0.base 0))} is VALID [2018-11-18 23:52:17,500 INFO L273 TraceCheckUtils]: 24: Hoare triple {710#(not (= sll_circular_create_~head~0.base 0))} assume true; {710#(not (= sll_circular_create_~head~0.base 0))} is VALID [2018-11-18 23:52:17,500 INFO L273 TraceCheckUtils]: 25: Hoare triple {710#(not (= sll_circular_create_~head~0.base 0))} assume !(~len > 1); {710#(not (= sll_circular_create_~head~0.base 0))} is VALID [2018-11-18 23:52:17,502 INFO L273 TraceCheckUtils]: 26: Hoare triple {710#(not (= sll_circular_create_~head~0.base 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {720#(not (= 0 |sll_circular_create_#res.base|))} is VALID [2018-11-18 23:52:17,502 INFO L273 TraceCheckUtils]: 27: Hoare triple {720#(not (= 0 |sll_circular_create_#res.base|))} assume true; {720#(not (= 0 |sll_circular_create_#res.base|))} is VALID [2018-11-18 23:52:17,504 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {720#(not (= 0 |sll_circular_create_#res.base|))} {651#(= |main_~#s~0.offset| 0)} #132#return; {727#(and (= |main_~#s~0.offset| 0) (not (= 0 |main_#t~ret15.base|)))} is VALID [2018-11-18 23:52:17,505 INFO L273 TraceCheckUtils]: 29: Hoare triple {727#(and (= |main_~#s~0.offset| 0) (not (= 0 |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; {731#(and (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (= |main_~#s~0.offset| 0) (= main_~uneq~0 5))} is VALID [2018-11-18 23:52:17,507 INFO L256 TraceCheckUtils]: 30: Hoare triple {731#(and (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (= |main_~#s~0.offset| 0) (= main_~uneq~0 5))} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {735#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2018-11-18 23:52:17,509 INFO L273 TraceCheckUtils]: 31: Hoare triple {735#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {739#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |sll_circular_prepend_#in~data| sll_circular_prepend_~data))} is VALID [2018-11-18 23:52:17,510 INFO L256 TraceCheckUtils]: 32: Hoare triple {739#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |sll_circular_prepend_#in~data| sll_circular_prepend_~data))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {735#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2018-11-18 23:52:17,511 INFO L273 TraceCheckUtils]: 33: Hoare triple {735#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {746#(and (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:17,511 INFO L273 TraceCheckUtils]: 34: Hoare triple {746#(and (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {746#(and (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:17,513 INFO L273 TraceCheckUtils]: 35: Hoare triple {746#(and (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {753#(and (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} is VALID [2018-11-18 23:52:17,518 INFO L273 TraceCheckUtils]: 36: Hoare triple {753#(and (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} assume true; {753#(and (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} is VALID [2018-11-18 23:52:17,520 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {753#(and (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} {739#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |sll_circular_prepend_#in~data| sll_circular_prepend_~data))} #142#return; {760#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 |sll_circular_prepend_#t~ret8.offset|) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) (+ |sll_circular_prepend_#t~ret8.offset| 4))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (store |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base|) |sll_circular_prepend_#t~ret8.offset| 0)) |#memory_$Pointer$.base|))} is VALID [2018-11-18 23:52:17,521 INFO L273 TraceCheckUtils]: 38: Hoare triple {760#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 |sll_circular_prepend_#t~ret8.offset|) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) (+ |sll_circular_prepend_#t~ret8.offset| 4))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (store |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base|) |sll_circular_prepend_#t~ret8.offset| 0)) |#memory_$Pointer$.base|))} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {764#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base))} is VALID [2018-11-18 23:52:17,523 INFO L273 TraceCheckUtils]: 39: Hoare triple {764#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base))} assume 0 == #t~mem9.base && 0 == #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~new_head~1.base, ~new_head~1.offset, 4); {768#(and (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base) 0 sll_circular_prepend_~new_head~1.base))) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~new_head~1.base) 0) 0) (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))} is VALID [2018-11-18 23:52:17,525 INFO L273 TraceCheckUtils]: 40: Hoare triple {768#(and (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base) 0 sll_circular_prepend_~new_head~1.base))) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~new_head~1.base) 0) 0) (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))} assume true; {768#(and (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base) 0 sll_circular_prepend_~new_head~1.base))) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~new_head~1.base) 0) 0) (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))} is VALID [2018-11-18 23:52:17,528 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {768#(and (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) sll_circular_prepend_~new_head~1.base) 0 sll_circular_prepend_~new_head~1.base))) (= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~new_head~1.base) 0) 0) (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))} {731#(and (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (= |main_~#s~0.offset| 0) (= main_~uneq~0 5))} #134#return; {775#(and (= main_~uneq~0 (select (select |#memory_int| |main_~#s~0.base|) 4)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) 0) 0) (= |main_~#s~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|) (= main_~uneq~0 5))} is VALID [2018-11-18 23:52:17,529 INFO L273 TraceCheckUtils]: 42: Hoare triple {775#(and (= main_~uneq~0 (select (select |#memory_int| |main_~#s~0.base|) 4)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) 0) 0) (= |main_~#s~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|) (= main_~uneq~0 5))} 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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {779#(and (= |main_#t~mem17| main_~uneq~0) (= main_~uneq~0 5))} is VALID [2018-11-18 23:52:17,540 INFO L273 TraceCheckUtils]: 43: Hoare triple {779#(and (= |main_#t~mem17| main_~uneq~0) (= main_~uneq~0 5))} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {615#false} is VALID [2018-11-18 23:52:17,540 INFO L273 TraceCheckUtils]: 44: Hoare triple {615#false} assume !false; {615#false} is VALID [2018-11-18 23:52:17,545 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 13 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-18 23:52:17,576 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:52:17,576 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 20] total 37 [2018-11-18 23:52:17,576 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 45 [2018-11-18 23:52:17,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:52:17,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states. [2018-11-18 23:52:17,730 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:17,731 INFO L459 AbstractCegarLoop]: Interpolant automaton has 37 states [2018-11-18 23:52:17,731 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2018-11-18 23:52:17,732 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=1233, Unknown=0, NotChecked=0, Total=1332 [2018-11-18 23:52:17,733 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. Second operand 37 states. [2018-11-18 23:52:23,484 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 53 DAG size of output: 43 [2018-11-18 23:52:27,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:27,997 INFO L93 Difference]: Finished difference Result 84 states and 102 transitions. [2018-11-18 23:52:27,997 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-18 23:52:27,997 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 45 [2018-11-18 23:52:27,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:52:27,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-18 23:52:28,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 102 transitions. [2018-11-18 23:52:28,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-18 23:52:28,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 102 transitions. [2018-11-18 23:52:28,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 102 transitions. [2018-11-18 23:52:28,258 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:28,263 INFO L225 Difference]: With dead ends: 84 [2018-11-18 23:52:28,263 INFO L226 Difference]: Without dead ends: 75 [2018-11-18 23:52:28,264 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 550 ImplicationChecksByTransitivity, 4.3s TimeCoverageRelationStatistics Valid=212, Invalid=2544, Unknown=0, NotChecked=0, Total=2756 [2018-11-18 23:52:28,265 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-18 23:52:28,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 58. [2018-11-18 23:52:28,343 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:52:28,343 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 58 states. [2018-11-18 23:52:28,343 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 58 states. [2018-11-18 23:52:28,343 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 58 states. [2018-11-18 23:52:28,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:28,349 INFO L93 Difference]: Finished difference Result 75 states and 89 transitions. [2018-11-18 23:52:28,350 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 89 transitions. [2018-11-18 23:52:28,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:28,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:28,351 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 75 states. [2018-11-18 23:52:28,351 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 75 states. [2018-11-18 23:52:28,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:28,356 INFO L93 Difference]: Finished difference Result 75 states and 89 transitions. [2018-11-18 23:52:28,356 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 89 transitions. [2018-11-18 23:52:28,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:28,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:28,358 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:52:28,358 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:52:28,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-18 23:52:28,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 68 transitions. [2018-11-18 23:52:28,361 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 68 transitions. Word has length 45 [2018-11-18 23:52:28,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:52:28,362 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 68 transitions. [2018-11-18 23:52:28,362 INFO L481 AbstractCegarLoop]: Interpolant automaton has 37 states. [2018-11-18 23:52:28,362 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 68 transitions. [2018-11-18 23:52:28,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-18 23:52:28,364 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:52:28,364 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] [2018-11-18 23:52:28,364 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:52:28,365 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:52:28,365 INFO L82 PathProgramCache]: Analyzing trace with hash 1299267160, now seen corresponding path program 1 times [2018-11-18 23:52:28,365 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:52:28,365 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:52:28,367 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:28,367 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:28,367 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:28,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:28,910 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification. DAG size of input: 10 DAG size of output: 9 [2018-11-18 23:52:30,007 WARN L180 SmtUtils]: Spent 143.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 49 [2018-11-18 23:52:30,327 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 42 [2018-11-18 23:52:30,646 WARN L180 SmtUtils]: Spent 173.00 ms on a formula simplification. DAG size of input: 89 DAG size of output: 51 [2018-11-18 23:52:30,991 WARN L180 SmtUtils]: Spent 182.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 55 [2018-11-18 23:52:31,343 WARN L180 SmtUtils]: Spent 166.00 ms on a formula simplification. DAG size of input: 88 DAG size of output: 49 [2018-11-18 23:52:31,439 INFO L256 TraceCheckUtils]: 0: Hoare triple {1156#true} call ULTIMATE.init(); {1156#true} is VALID [2018-11-18 23:52:31,439 INFO L273 TraceCheckUtils]: 1: Hoare triple {1156#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1156#true} is VALID [2018-11-18 23:52:31,440 INFO L273 TraceCheckUtils]: 2: Hoare triple {1156#true} assume true; {1156#true} is VALID [2018-11-18 23:52:31,440 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1156#true} {1156#true} #144#return; {1156#true} is VALID [2018-11-18 23:52:31,440 INFO L256 TraceCheckUtils]: 4: Hoare triple {1156#true} call #t~ret24 := main(); {1156#true} is VALID [2018-11-18 23:52:31,463 INFO L273 TraceCheckUtils]: 5: Hoare triple {1156#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); {1158#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:52:31,477 INFO L256 TraceCheckUtils]: 6: Hoare triple {1158#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:31,489 INFO L273 TraceCheckUtils]: 7: Hoare triple {1159#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:31,490 INFO L256 TraceCheckUtils]: 8: Hoare triple {1159#(= |#valid| |old(#valid)|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:31,491 INFO L273 TraceCheckUtils]: 9: Hoare triple {1159#(= |#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; {1160#(and (= (select |#valid| node_create_~temp~0.base) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,492 INFO L273 TraceCheckUtils]: 10: Hoare triple {1160#(and (= (select |#valid| node_create_~temp~0.base) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@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); {1160#(and (= (select |#valid| node_create_~temp~0.base) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,493 INFO L273 TraceCheckUtils]: 11: Hoare triple {1160#(and (= (select |#valid| node_create_~temp~0.base) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@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, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1161#(and (= (select |#valid| |node_create_#res.base|) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,494 INFO L273 TraceCheckUtils]: 12: Hoare triple {1161#(and (= (select |#valid| |node_create_#res.base|) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {1161#(and (= (select |#valid| |node_create_#res.base|) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,497 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1161#(and (= (select |#valid| |node_create_#res.base|) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} {1159#(= |#valid| |old(#valid)|)} #138#return; {1162#(and (= (select |#valid| |sll_circular_create_#t~ret3.base|) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,499 INFO L273 TraceCheckUtils]: 14: Hoare triple {1162#(and (= (select |#valid| |sll_circular_create_#t~ret3.base|) 1) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#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; {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,500 INFO L273 TraceCheckUtils]: 15: Hoare triple {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,502 INFO L273 TraceCheckUtils]: 16: Hoare triple {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 1); {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-18 23:52:31,503 INFO L256 TraceCheckUtils]: 17: Hoare triple {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:31,505 INFO L273 TraceCheckUtils]: 18: Hoare triple {1159#(= |#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; {1164#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (not (= 0 node_create_~temp~0.base)))} is VALID [2018-11-18 23:52:31,506 INFO L273 TraceCheckUtils]: 19: Hoare triple {1164#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (not (= 0 node_create_~temp~0.base)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1164#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (not (= 0 node_create_~temp~0.base)))} is VALID [2018-11-18 23:52:31,507 INFO L273 TraceCheckUtils]: 20: Hoare triple {1164#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (not (= 0 node_create_~temp~0.base)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1165#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (not (= 0 |node_create_#res.base|)))} is VALID [2018-11-18 23:52:31,508 INFO L273 TraceCheckUtils]: 21: Hoare triple {1165#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (not (= 0 |node_create_#res.base|)))} assume true; {1165#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (not (= 0 |node_create_#res.base|)))} is VALID [2018-11-18 23:52:31,510 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1165#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (not (= 0 |node_create_#res.base|)))} {1163#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= (select |#valid| sll_circular_create_~last~0.base) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} #140#return; {1166#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (= 0 |sll_circular_create_#t~ret4.offset|) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret4.base|)) (not (= 0 |sll_circular_create_#t~ret4.base|)) (not (= sll_circular_create_~last~0.base |sll_circular_create_#t~ret4.base|)))} is VALID [2018-11-18 23:52:31,512 INFO L273 TraceCheckUtils]: 23: Hoare triple {1166#(and (= sll_circular_create_~last~0.base sll_circular_create_~head~0.base) (= 0 |sll_circular_create_#t~ret4.offset|) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret4.base|)) (not (= 0 |sll_circular_create_#t~ret4.base|)) (not (= sll_circular_create_~last~0.base |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, 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; {1167#(and (= 0 sll_circular_create_~head~0.offset) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset))) (not (= 0 sll_circular_create_~head~0.base)))} is VALID [2018-11-18 23:52:31,513 INFO L273 TraceCheckUtils]: 24: Hoare triple {1167#(and (= 0 sll_circular_create_~head~0.offset) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset))) (not (= 0 sll_circular_create_~head~0.base)))} assume true; {1167#(and (= 0 sll_circular_create_~head~0.offset) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset))) (not (= 0 sll_circular_create_~head~0.base)))} is VALID [2018-11-18 23:52:31,514 INFO L273 TraceCheckUtils]: 25: Hoare triple {1167#(and (= 0 sll_circular_create_~head~0.offset) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset))) (not (= 0 sll_circular_create_~head~0.base)))} assume !(~len > 1); {1167#(and (= 0 sll_circular_create_~head~0.offset) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset))) (not (= 0 sll_circular_create_~head~0.base)))} is VALID [2018-11-18 23:52:31,516 INFO L273 TraceCheckUtils]: 26: Hoare triple {1167#(and (= 0 sll_circular_create_~head~0.offset) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~head~0.base (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset))) (not (= 0 sll_circular_create_~head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {1168#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (not (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|))))} is VALID [2018-11-18 23:52:31,516 INFO L273 TraceCheckUtils]: 27: Hoare triple {1168#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (not (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|))))} assume true; {1168#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (not (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|))))} is VALID [2018-11-18 23:52:31,519 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1168#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (not (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|))))} {1158#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} #132#return; {1169#(and (not (= |main_#t~ret15.base| (select (select (store |#memory_$Pointer$.base| |main_~#s~0.base| (store (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset| |main_#t~ret15.base|)) |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 |main_#t~ret15.offset|) (not (= 0 |main_#t~ret15.base|)) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:52:31,520 INFO L273 TraceCheckUtils]: 29: Hoare triple {1169#(and (not (= |main_#t~ret15.base| (select (select (store |#memory_$Pointer$.base| |main_~#s~0.base| (store (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset| |main_#t~ret15.base|)) |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 |main_#t~ret15.offset|) (not (= 0 |main_#t~ret15.base|)) (= 0 |main_~#s~0.offset|))} 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; {1170#(and (not (= 0 (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|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.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 |main_~#s~0.offset|))} is VALID [2018-11-18 23:52:31,522 INFO L256 TraceCheckUtils]: 30: Hoare triple {1170#(and (not (= 0 (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|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.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 |main_~#s~0.offset|))} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {1171#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:31,527 INFO L273 TraceCheckUtils]: 31: Hoare triple {1171#(and (= |#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; {1172#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:52:31,528 INFO L256 TraceCheckUtils]: 32: Hoare triple {1172#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {1171#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:31,529 INFO L273 TraceCheckUtils]: 33: Hoare triple {1171#(and (= |#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; {1173#(and (= 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-18 23:52:31,530 INFO L273 TraceCheckUtils]: 34: Hoare triple {1173#(and (= 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)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1173#(and (= 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-18 23:52:31,532 INFO L273 TraceCheckUtils]: 35: Hoare triple {1173#(and (= 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, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1174#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) 0)) (not (= (select (select |#memory_$Pointer$.base| |node_create_#res.base|) 0) |node_create_#res.base|)) (or (= |node_create_#res.base| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= 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|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)) (or (= (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) |node_create_#res.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} is VALID [2018-11-18 23:52:31,535 INFO L273 TraceCheckUtils]: 36: Hoare triple {1174#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) 0)) (not (= (select (select |#memory_$Pointer$.base| |node_create_#res.base|) 0) |node_create_#res.base|)) (or (= |node_create_#res.base| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= 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|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)) (or (= (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) |node_create_#res.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} assume true; {1174#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) 0)) (not (= (select (select |#memory_$Pointer$.base| |node_create_#res.base|) 0) |node_create_#res.base|)) (or (= |node_create_#res.base| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= 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|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)) (or (= (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) |node_create_#res.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} is VALID [2018-11-18 23:52:31,539 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {1174#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) 0)) (not (= (select (select |#memory_$Pointer$.base| |node_create_#res.base|) 0) |node_create_#res.base|)) (or (= |node_create_#res.base| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= 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|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)) (or (= (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) |node_create_#res.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} {1172#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} #142#return; {1175#(and (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= |sll_circular_prepend_#t~ret8.base| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (not (= sll_circular_prepend_~head.base |sll_circular_prepend_#t~ret8.base|)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (not (= sll_circular_prepend_~head.base |sll_circular_prepend_#t~ret8.base|)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= |#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|)))) (or (= |sll_circular_prepend_#t~ret8.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (or (not (= |sll_circular_prepend_#t~ret8.base| |sll_circular_prepend_#in~head.base|)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) |sll_circular_prepend_#t~ret8.offset|))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_circular_prepend_#t~ret8.base|) 0) |sll_circular_prepend_#t~ret8.base|)))} is VALID [2018-11-18 23:52:31,542 INFO L273 TraceCheckUtils]: 38: Hoare triple {1175#(and (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= |sll_circular_prepend_#t~ret8.base| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (not (= sll_circular_prepend_~head.base |sll_circular_prepend_#t~ret8.base|)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (not (= sll_circular_prepend_~head.base |sll_circular_prepend_#t~ret8.base|)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= |#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|)))) (or (= |sll_circular_prepend_#t~ret8.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (or (not (= |sll_circular_prepend_#t~ret8.base| |sll_circular_prepend_#in~head.base|)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) |sll_circular_prepend_#t~ret8.offset|))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_circular_prepend_#t~ret8.base|) 0) |sll_circular_prepend_#t~ret8.base|)))} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1176#(and (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (and (or (= |sll_circular_prepend_#t~mem9.base| 0) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= |sll_circular_prepend_#t~mem9.offset| 0) (not (= |sll_circular_prepend_#in~head.offset| 0))))) (or (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~new_head~1.base) 0) sll_circular_prepend_~new_head~1.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (or (= sll_circular_prepend_~new_head~1.base (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)))} is VALID [2018-11-18 23:52:31,545 INFO L273 TraceCheckUtils]: 39: Hoare triple {1176#(and (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (and (or (= |sll_circular_prepend_#t~mem9.base| 0) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= |sll_circular_prepend_#t~mem9.offset| 0) (not (= |sll_circular_prepend_#in~head.offset| 0))))) (or (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~new_head~1.base) 0) sll_circular_prepend_~new_head~1.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (or (= sll_circular_prepend_~new_head~1.base (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)))} assume !(0 == #t~mem9.base && 0 == #t~mem9.offset);havoc #t~mem9.base, #t~mem9.offset;call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset; {1177#(and (or (and (or (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base)) (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))) (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} is VALID [2018-11-18 23:52:31,547 INFO L273 TraceCheckUtils]: 40: Hoare triple {1177#(and (or (and (or (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base)) (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))) (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} assume true; {1177#(and (or (and (or (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base)) (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))) (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} is VALID [2018-11-18 23:52:31,549 INFO L273 TraceCheckUtils]: 41: Hoare triple {1177#(and (or (and (or (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base)) (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|))) (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1178#(and (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (or (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#t~mem11.base| |sll_circular_prepend_#t~mem12.base|)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) |sll_circular_prepend_#t~mem11.base|) (= |sll_circular_prepend_#t~mem12.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)))} is VALID [2018-11-18 23:52:31,551 INFO L273 TraceCheckUtils]: 42: Hoare triple {1178#(and (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (or (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#t~mem11.base| |sll_circular_prepend_#t~mem12.base|)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) |sll_circular_prepend_#t~mem11.base|) (= |sll_circular_prepend_#t~mem12.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)))} assume !(#t~mem11.base != #t~mem12.base || #t~mem11.offset != #t~mem12.offset);havoc #t~mem11.base, #t~mem11.offset;havoc #t~mem12.base, #t~mem12.offset; {1179#(and (or (and (or (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base)) (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} is VALID [2018-11-18 23:52:31,554 INFO L273 TraceCheckUtils]: 43: Hoare triple {1179#(and (or (and (or (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base)) (and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~new_head~1.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset) (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) 0))) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= sll_circular_prepend_~last~1.offset (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem14.base, #t~mem14.offset, ~new_head~1.base, ~new_head~1.offset, 4);havoc #t~mem14.base, #t~mem14.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~last~1.base, ~last~1.offset, 4); {1180#(or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) 0)))} is VALID [2018-11-18 23:52:31,555 INFO L273 TraceCheckUtils]: 44: Hoare triple {1180#(or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) 0)))} assume true; {1180#(or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) 0)))} is VALID [2018-11-18 23:52:31,557 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1180#(or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) 0)))} {1170#(and (not (= 0 (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|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.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 |main_~#s~0.offset|))} #134#return; {1157#false} is VALID [2018-11-18 23:52:31,557 INFO L273 TraceCheckUtils]: 46: Hoare triple {1157#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {1157#false} is VALID [2018-11-18 23:52:31,557 INFO L273 TraceCheckUtils]: 47: Hoare triple {1157#false} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {1157#false} is VALID [2018-11-18 23:52:31,558 INFO L273 TraceCheckUtils]: 48: Hoare triple {1157#false} assume !false; {1157#false} is VALID [2018-11-18 23:52:31,572 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-18 23:52:31,573 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:52:31,573 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:52:31,584 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:31,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:31,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:31,665 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:52:31,704 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-18 23:52:31,707 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:31,718 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:31,718 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:14, output treesize:13 [2018-11-18 23:52:31,720 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:32,315 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:52:32,318 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:52:32,319 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,321 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,334 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,334 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:37, output treesize:33 [2018-11-18 23:52:32,448 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:52:32,455 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 58 [2018-11-18 23:52:32,461 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 12 treesize of output 11 [2018-11-18 23:52:32,463 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,477 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,490 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:52:32,491 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:57, output treesize:49 [2018-11-18 23:52:32,498 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:32,668 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:52:32,669 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:52:32,672 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:52:32,674 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 33 treesize of output 52 [2018-11-18 23:52:32,692 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 32 treesize of output 46 [2018-11-18 23:52:32,706 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,723 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,751 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-18 23:52:32,751 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:61, output treesize:61 [2018-11-18 23:52:32,758 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:52:32,941 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:52:32,949 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 61 [2018-11-18 23:52:32,960 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-18 23:52:32,963 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:32,980 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:33,019 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-18 23:52:33,029 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:52:33,030 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:52:33,033 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:52:33,065 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-18 23:52:33,066 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:80, output treesize:89 [2018-11-18 23:52:35,044 INFO L256 TraceCheckUtils]: 0: Hoare triple {1156#true} call ULTIMATE.init(); {1156#true} is VALID [2018-11-18 23:52:35,045 INFO L273 TraceCheckUtils]: 1: Hoare triple {1156#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1156#true} is VALID [2018-11-18 23:52:35,045 INFO L273 TraceCheckUtils]: 2: Hoare triple {1156#true} assume true; {1156#true} is VALID [2018-11-18 23:52:35,045 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1156#true} {1156#true} #144#return; {1156#true} is VALID [2018-11-18 23:52:35,045 INFO L256 TraceCheckUtils]: 4: Hoare triple {1156#true} call #t~ret24 := main(); {1156#true} is VALID [2018-11-18 23:52:35,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {1156#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); {1199#(and (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| 0)) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:52:35,053 INFO L256 TraceCheckUtils]: 6: Hoare triple {1199#(and (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| 0)) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:35,053 INFO L273 TraceCheckUtils]: 7: Hoare triple {1159#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:35,054 INFO L256 TraceCheckUtils]: 8: Hoare triple {1159#(= |#valid| |old(#valid)|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:35,055 INFO L273 TraceCheckUtils]: 9: Hoare triple {1159#(= |#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; {1212#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-18 23:52:35,055 INFO L273 TraceCheckUtils]: 10: Hoare triple {1212#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1212#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-18 23:52:35,056 INFO L273 TraceCheckUtils]: 11: Hoare triple {1212#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1219#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:52:35,057 INFO L273 TraceCheckUtils]: 12: Hoare triple {1219#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} assume true; {1219#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:52:35,058 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1219#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} {1159#(= |#valid| |old(#valid)|)} #138#return; {1226#(and (= |#valid| (store |old(#valid)| |sll_circular_create_#t~ret3.base| 1)) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret3.base|)))} is VALID [2018-11-18 23:52:35,059 INFO L273 TraceCheckUtils]: 14: Hoare triple {1226#(and (= |#valid| (store |old(#valid)| |sll_circular_create_#t~ret3.base| 1)) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret3.base|)))} ~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; {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:52:35,060 INFO L273 TraceCheckUtils]: 15: Hoare triple {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} assume true; {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:52:35,061 INFO L273 TraceCheckUtils]: 16: Hoare triple {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} assume !!(~len > 1); {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:52:35,062 INFO L256 TraceCheckUtils]: 17: Hoare triple {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1159#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:52:35,063 INFO L273 TraceCheckUtils]: 18: Hoare triple {1159#(= |#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; {1243#(and (= 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-18 23:52:35,064 INFO L273 TraceCheckUtils]: 19: Hoare triple {1243#(and (= 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); {1243#(and (= 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-18 23:52:35,065 INFO L273 TraceCheckUtils]: 20: Hoare triple {1243#(and (= 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)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1250#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} is VALID [2018-11-18 23:52:35,066 INFO L273 TraceCheckUtils]: 21: Hoare triple {1250#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} assume true; {1250#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} is VALID [2018-11-18 23:52:35,068 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1250#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} {1230#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} #140#return; {1257#(and (= |sll_circular_create_#t~ret4.offset| 0) (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base| 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base|) 0))} is VALID [2018-11-18 23:52:35,070 INFO L273 TraceCheckUtils]: 23: Hoare triple {1257#(and (= |sll_circular_create_#t~ret4.offset| 0) (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base| 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base|) 0))} ~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, 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; {1261#(and (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) 0) sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= sll_circular_create_~head~0.offset 0) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:52:35,071 INFO L273 TraceCheckUtils]: 24: Hoare triple {1261#(and (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) 0) sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= sll_circular_create_~head~0.offset 0) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} assume true; {1261#(and (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) 0) sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= sll_circular_create_~head~0.offset 0) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:52:35,072 INFO L273 TraceCheckUtils]: 25: Hoare triple {1261#(and (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) 0) sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= sll_circular_create_~head~0.offset 0) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} assume !(~len > 1); {1261#(and (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) 0) sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= sll_circular_create_~head~0.offset 0) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:52:35,076 INFO L273 TraceCheckUtils]: 26: Hoare triple {1261#(and (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) 0) sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= sll_circular_create_~head~0.offset 0) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {1271#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base| 1)) (= 0 |sll_circular_create_#res.offset|) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) sll_circular_create_~last~0.offset) |sll_circular_create_#res.base|)) (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) 0))} is VALID [2018-11-18 23:52:35,076 INFO L273 TraceCheckUtils]: 27: Hoare triple {1271#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base| 1)) (= 0 |sll_circular_create_#res.offset|) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) sll_circular_create_~last~0.offset) |sll_circular_create_#res.base|)) (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) 0))} assume true; {1271#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base| 1)) (= 0 |sll_circular_create_#res.offset|) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) sll_circular_create_~last~0.offset) |sll_circular_create_#res.base|)) (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) 0))} is VALID [2018-11-18 23:52:35,078 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1271#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base| 1)) (= 0 |sll_circular_create_#res.offset|) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) sll_circular_create_~last~0.offset) |sll_circular_create_#res.base|)) (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0) 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0)) 0))} {1199#(and (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| 0)) (= (select |#valid| |main_~#s~0.base|) 1))} #132#return; {1278#(and (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) sll_circular_create_~last~0.offset) |main_#t~ret15.base|)) (= |main_~#s~0.offset| 0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0))) (= |main_#t~ret15.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_~#s~0.base|)) (not (= |main_~#s~0.base| 0)) (= 1 (select |#valid| |main_#t~ret15.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_#t~ret15.base|)) (= (select |#valid| |main_~#s~0.base|) 1) (not (= |main_~#s~0.base| |main_#t~ret15.base|)))} is VALID [2018-11-18 23:52:35,080 INFO L273 TraceCheckUtils]: 29: Hoare triple {1278#(and (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) sll_circular_create_~last~0.offset) |main_#t~ret15.base|)) (= |main_~#s~0.offset| 0) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0))) (= |main_#t~ret15.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_~#s~0.base|)) (not (= |main_~#s~0.base| 0)) (= 1 (select |#valid| |main_#t~ret15.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_#t~ret15.base|)) (= (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; {1282#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) sll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 1) (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) |main_~#s~0.base|)) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:52:35,081 INFO L256 TraceCheckUtils]: 30: Hoare triple {1282#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) sll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 1) (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) |main_~#s~0.base|)) (= (select |#valid| |main_~#s~0.base|) 1))} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {1286#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:35,082 INFO L273 TraceCheckUtils]: 31: Hoare triple {1286#(and (= |#valid| |old(#valid)|) (= |#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; {1290#(and (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:35,083 INFO L256 TraceCheckUtils]: 32: Hoare triple {1290#(and (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {1286#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:35,085 INFO L273 TraceCheckUtils]: 33: Hoare triple {1286#(and (= |#valid| |old(#valid)|) (= |#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; {1297#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:35,085 INFO L273 TraceCheckUtils]: 34: Hoare triple {1297#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 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); {1297#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:52:35,087 INFO L273 TraceCheckUtils]: 35: Hoare triple {1297#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 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, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1304#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |#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))))} is VALID [2018-11-18 23:52:35,087 INFO L273 TraceCheckUtils]: 36: Hoare triple {1304#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |#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))))} assume true; {1304#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |#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))))} is VALID [2018-11-18 23:52:35,090 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {1304#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |#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))))} {1290#(and (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #142#return; {1311#(and (= (store |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base|) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base|) 0 0))) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 (select |old(#valid)| |sll_circular_prepend_#t~ret8.base|)) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base))} is VALID [2018-11-18 23:52:35,092 INFO L273 TraceCheckUtils]: 38: Hoare triple {1311#(and (= (store |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base|) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base|) 0 0))) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 (select |old(#valid)| |sll_circular_prepend_#t~ret8.base|)) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base))} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1315#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0))) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.offset|))} is VALID [2018-11-18 23:52:35,095 INFO L273 TraceCheckUtils]: 39: Hoare triple {1315#(and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0))) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.offset|))} assume !(0 == #t~mem9.base && 0 == #t~mem9.offset);havoc #t~mem9.base, #t~mem9.offset;call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset; {1319#(or (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((v_prenex_2 Int)) (and (= (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| v_prenex_2) 0) (= (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |#memory_$Pointer$.base|))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)) (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0))) (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)))} is VALID [2018-11-18 23:52:35,096 INFO L273 TraceCheckUtils]: 40: Hoare triple {1319#(or (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((v_prenex_2 Int)) (and (= (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| v_prenex_2) 0) (= (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |#memory_$Pointer$.base|))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)) (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0))) (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)))} assume true; {1319#(or (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((v_prenex_2 Int)) (and (= (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| v_prenex_2) 0) (= (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |#memory_$Pointer$.base|))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)) (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0))) (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)))} is VALID [2018-11-18 23:52:35,101 INFO L273 TraceCheckUtils]: 41: Hoare triple {1319#(or (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((v_prenex_2 Int)) (and (= (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| v_prenex_2) 0) (= (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |#memory_$Pointer$.base|))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)) (and (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0))) (= (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1326#(or (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) |sll_circular_prepend_#t~mem11.base|) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) |sll_circular_prepend_#t~mem12.base|))) (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) |sll_circular_prepend_#t~mem11.base|) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) |sll_circular_prepend_#t~mem12.base|))))} is VALID [2018-11-18 23:52:35,104 INFO L273 TraceCheckUtils]: 42: Hoare triple {1326#(or (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) |sll_circular_prepend_#t~mem11.base|) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) |sll_circular_prepend_#t~mem12.base|))) (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) |sll_circular_prepend_#t~mem11.base|) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) |sll_circular_prepend_#t~mem12.base|))))} assume !(#t~mem11.base != #t~mem12.base || #t~mem11.offset != #t~mem12.offset);havoc #t~mem11.base, #t~mem11.offset;havoc #t~mem12.base, #t~mem12.offset; {1330#(or (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))))} is VALID [2018-11-18 23:52:35,106 INFO L273 TraceCheckUtils]: 43: Hoare triple {1330#(or (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))))} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem14.base, #t~mem14.offset, ~new_head~1.base, ~new_head~1.offset, 4);havoc #t~mem14.base, #t~mem14.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~last~1.base, ~last~1.offset, 4); {1330#(or (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))))} is VALID [2018-11-18 23:52:35,109 INFO L273 TraceCheckUtils]: 44: Hoare triple {1330#(or (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))))} assume true; {1330#(or (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))))} is VALID [2018-11-18 23:52:35,113 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1330#(or (exists ((v_prenex_2 Int)) (and (= (select |old(#valid)| v_prenex_2) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_2 (store (select |old(#memory_$Pointer$.offset)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_2 (store (select |old(#memory_$Pointer$.base)| v_prenex_2) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))) (exists ((sll_circular_prepend_~new_head~1.base Int)) (and (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)))))} {1282#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) sll_circular_create_~last~0.offset))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 1) (= |main_~#s~0.offset| 0) (not (= |main_~#s~0.base| 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) |main_~#s~0.base|)) (= (select |#valid| |main_~#s~0.base|) 1))} #134#return; {1157#false} is VALID [2018-11-18 23:52:35,113 INFO L273 TraceCheckUtils]: 46: Hoare triple {1157#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {1157#false} is VALID [2018-11-18 23:52:35,114 INFO L273 TraceCheckUtils]: 47: Hoare triple {1157#false} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {1157#false} is VALID [2018-11-18 23:52:35,114 INFO L273 TraceCheckUtils]: 48: Hoare triple {1157#false} assume !false; {1157#false} is VALID [2018-11-18 23:52:35,130 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-18 23:52:35,150 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:52:35,150 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24] total 46 [2018-11-18 23:52:35,151 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 49 [2018-11-18 23:52:35,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:52:35,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states. [2018-11-18 23:52:35,324 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:35,324 INFO L459 AbstractCegarLoop]: Interpolant automaton has 46 states [2018-11-18 23:52:35,324 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2018-11-18 23:52:35,325 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=1957, Unknown=0, NotChecked=0, Total=2070 [2018-11-18 23:52:35,326 INFO L87 Difference]: Start difference. First operand 58 states and 68 transitions. Second operand 46 states. [2018-11-18 23:52:43,838 WARN L180 SmtUtils]: Spent 2.15 s on a formula simplification. DAG size of input: 61 DAG size of output: 56 [2018-11-18 23:52:45,113 WARN L180 SmtUtils]: Spent 266.00 ms on a formula simplification. DAG size of input: 112 DAG size of output: 73 [2018-11-18 23:52:46,501 WARN L180 SmtUtils]: Spent 779.00 ms on a formula simplification. DAG size of input: 150 DAG size of output: 115 [2018-11-18 23:52:53,902 WARN L180 SmtUtils]: Spent 6.56 s on a formula simplification. DAG size of input: 133 DAG size of output: 103 [2018-11-18 23:52:59,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:59,002 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2018-11-18 23:52:59,002 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-18 23:52:59,002 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 49 [2018-11-18 23:52:59,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:52:59,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-18 23:52:59,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 86 transitions. [2018-11-18 23:52:59,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-18 23:52:59,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 86 transitions. [2018-11-18 23:52:59,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 86 transitions. [2018-11-18 23:52:59,192 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:59,199 INFO L225 Difference]: With dead ends: 75 [2018-11-18 23:52:59,199 INFO L226 Difference]: Without dead ends: 66 [2018-11-18 23:52:59,201 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 446 ImplicationChecksByTransitivity, 16.9s TimeCoverageRelationStatistics Valid=191, Invalid=3115, Unknown=0, NotChecked=0, Total=3306 [2018-11-18 23:52:59,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-18 23:52:59,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2018-11-18 23:52:59,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:52:59,431 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 64 states. [2018-11-18 23:52:59,431 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 64 states. [2018-11-18 23:52:59,431 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 64 states. [2018-11-18 23:52:59,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:59,435 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2018-11-18 23:52:59,435 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 78 transitions. [2018-11-18 23:52:59,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:59,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:59,436 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 66 states. [2018-11-18 23:52:59,436 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 66 states. [2018-11-18 23:52:59,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:52:59,440 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2018-11-18 23:52:59,440 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 78 transitions. [2018-11-18 23:52:59,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:52:59,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:52:59,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:52:59,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:52:59,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2018-11-18 23:52:59,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 75 transitions. [2018-11-18 23:52:59,445 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 75 transitions. Word has length 49 [2018-11-18 23:52:59,445 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:52:59,445 INFO L480 AbstractCegarLoop]: Abstraction has 64 states and 75 transitions. [2018-11-18 23:52:59,445 INFO L481 AbstractCegarLoop]: Interpolant automaton has 46 states. [2018-11-18 23:52:59,445 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 75 transitions. [2018-11-18 23:52:59,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-18 23:52:59,447 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:52:59,447 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 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-18 23:52:59,447 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:52:59,447 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:52:59,448 INFO L82 PathProgramCache]: Analyzing trace with hash -1757819062, now seen corresponding path program 1 times [2018-11-18 23:52:59,448 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:52:59,448 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:52:59,449 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:59,449 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:59,449 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:59,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:59,661 INFO L256 TraceCheckUtils]: 0: Hoare triple {1688#true} call ULTIMATE.init(); {1688#true} is VALID [2018-11-18 23:52:59,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {1688#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1688#true} is VALID [2018-11-18 23:52:59,662 INFO L273 TraceCheckUtils]: 2: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,663 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1688#true} {1688#true} #144#return; {1688#true} is VALID [2018-11-18 23:52:59,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {1688#true} call #t~ret24 := main(); {1688#true} is VALID [2018-11-18 23:52:59,670 INFO L273 TraceCheckUtils]: 5: Hoare triple {1688#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); {1690#(<= main_~len~0 2)} is VALID [2018-11-18 23:52:59,670 INFO L256 TraceCheckUtils]: 6: Hoare triple {1690#(<= main_~len~0 2)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {1688#true} is VALID [2018-11-18 23:52:59,671 INFO L273 TraceCheckUtils]: 7: Hoare triple {1688#true} ~len := #in~len;~data := #in~data; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,671 INFO L256 TraceCheckUtils]: 8: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,671 INFO L273 TraceCheckUtils]: 9: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,671 INFO L273 TraceCheckUtils]: 10: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,672 INFO L273 TraceCheckUtils]: 11: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,672 INFO L273 TraceCheckUtils]: 12: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,672 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1688#true} {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} #138#return; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,673 INFO L273 TraceCheckUtils]: 14: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~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; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,673 INFO L273 TraceCheckUtils]: 15: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} assume true; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,673 INFO L273 TraceCheckUtils]: 16: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} assume !!(~len > 1); {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,674 INFO L256 TraceCheckUtils]: 17: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,674 INFO L273 TraceCheckUtils]: 18: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,674 INFO L273 TraceCheckUtils]: 19: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,674 INFO L273 TraceCheckUtils]: 20: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,674 INFO L273 TraceCheckUtils]: 21: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,675 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1688#true} {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} #140#return; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,676 INFO L273 TraceCheckUtils]: 23: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 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; {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,676 INFO L273 TraceCheckUtils]: 24: Hoare triple {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} assume true; {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,677 INFO L273 TraceCheckUtils]: 25: Hoare triple {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} assume !!(~len > 1); {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,677 INFO L256 TraceCheckUtils]: 26: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,677 INFO L273 TraceCheckUtils]: 27: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,677 INFO L273 TraceCheckUtils]: 28: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,678 INFO L273 TraceCheckUtils]: 29: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,678 INFO L273 TraceCheckUtils]: 30: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,679 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1688#true} {1693#(<= 3 |sll_circular_create_#in~len|)} #140#return; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,679 INFO L273 TraceCheckUtils]: 32: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 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; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,680 INFO L273 TraceCheckUtils]: 33: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} assume true; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,681 INFO L273 TraceCheckUtils]: 34: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} assume !(~len > 1); {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,681 INFO L273 TraceCheckUtils]: 35: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,682 INFO L273 TraceCheckUtils]: 36: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} assume true; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,683 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {1693#(<= 3 |sll_circular_create_#in~len|)} {1690#(<= main_~len~0 2)} #132#return; {1689#false} is VALID [2018-11-18 23:52:59,683 INFO L273 TraceCheckUtils]: 38: Hoare triple {1689#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; {1689#false} is VALID [2018-11-18 23:52:59,684 INFO L256 TraceCheckUtils]: 39: Hoare triple {1689#false} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {1688#true} is VALID [2018-11-18 23:52:59,684 INFO L273 TraceCheckUtils]: 40: Hoare triple {1688#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {1688#true} is VALID [2018-11-18 23:52:59,684 INFO L256 TraceCheckUtils]: 41: Hoare triple {1688#true} call #t~ret8.base, #t~ret8.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,684 INFO L273 TraceCheckUtils]: 42: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,685 INFO L273 TraceCheckUtils]: 43: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,685 INFO L273 TraceCheckUtils]: 44: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,685 INFO L273 TraceCheckUtils]: 45: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,685 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {1688#true} {1688#true} #142#return; {1688#true} is VALID [2018-11-18 23:52:59,686 INFO L273 TraceCheckUtils]: 47: Hoare triple {1688#true} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1688#true} is VALID [2018-11-18 23:52:59,686 INFO L273 TraceCheckUtils]: 48: Hoare triple {1688#true} assume 0 == #t~mem9.base && 0 == #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~new_head~1.base, ~new_head~1.offset, 4); {1688#true} is VALID [2018-11-18 23:52:59,686 INFO L273 TraceCheckUtils]: 49: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,687 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1688#true} {1689#false} #134#return; {1689#false} is VALID [2018-11-18 23:52:59,687 INFO L273 TraceCheckUtils]: 51: Hoare triple {1689#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {1689#false} is VALID [2018-11-18 23:52:59,687 INFO L273 TraceCheckUtils]: 52: Hoare triple {1689#false} assume !(~uneq~0 != #t~mem17);havoc #t~mem17;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~count~0 := 1; {1689#false} is VALID [2018-11-18 23:52:59,687 INFO L273 TraceCheckUtils]: 53: Hoare triple {1689#false} assume true;call #t~mem20 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {1689#false} is VALID [2018-11-18 23:52:59,688 INFO L273 TraceCheckUtils]: 54: Hoare triple {1689#false} assume ~data~0 != #t~mem20;havoc #t~mem20; {1689#false} is VALID [2018-11-18 23:52:59,688 INFO L273 TraceCheckUtils]: 55: Hoare triple {1689#false} assume !false; {1689#false} is VALID [2018-11-18 23:52:59,690 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2018-11-18 23:52:59,690 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:52:59,690 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:52:59,702 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:59,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:59,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:59,777 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:52:59,866 INFO L256 TraceCheckUtils]: 0: Hoare triple {1688#true} call ULTIMATE.init(); {1688#true} is VALID [2018-11-18 23:52:59,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {1688#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1688#true} is VALID [2018-11-18 23:52:59,866 INFO L273 TraceCheckUtils]: 2: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,867 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1688#true} {1688#true} #144#return; {1688#true} is VALID [2018-11-18 23:52:59,867 INFO L256 TraceCheckUtils]: 4: Hoare triple {1688#true} call #t~ret24 := main(); {1688#true} is VALID [2018-11-18 23:52:59,868 INFO L273 TraceCheckUtils]: 5: Hoare triple {1688#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); {1690#(<= main_~len~0 2)} is VALID [2018-11-18 23:52:59,868 INFO L256 TraceCheckUtils]: 6: Hoare triple {1690#(<= main_~len~0 2)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {1688#true} is VALID [2018-11-18 23:52:59,868 INFO L273 TraceCheckUtils]: 7: Hoare triple {1688#true} ~len := #in~len;~data := #in~data; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,868 INFO L256 TraceCheckUtils]: 8: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,868 INFO L273 TraceCheckUtils]: 9: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,869 INFO L273 TraceCheckUtils]: 10: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,869 INFO L273 TraceCheckUtils]: 11: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,869 INFO L273 TraceCheckUtils]: 12: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,870 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1688#true} {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} #138#return; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,871 INFO L273 TraceCheckUtils]: 14: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~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; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,872 INFO L273 TraceCheckUtils]: 15: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} assume true; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,872 INFO L273 TraceCheckUtils]: 16: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} assume !!(~len > 1); {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,872 INFO L256 TraceCheckUtils]: 17: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,873 INFO L273 TraceCheckUtils]: 18: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,873 INFO L273 TraceCheckUtils]: 19: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,873 INFO L273 TraceCheckUtils]: 20: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,873 INFO L273 TraceCheckUtils]: 21: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,874 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1688#true} {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} #140#return; {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,876 INFO L273 TraceCheckUtils]: 23: Hoare triple {1691#(<= sll_circular_create_~len |sll_circular_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 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; {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,876 INFO L273 TraceCheckUtils]: 24: Hoare triple {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} assume true; {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,877 INFO L273 TraceCheckUtils]: 25: Hoare triple {1692#(<= (+ sll_circular_create_~len 1) |sll_circular_create_#in~len|)} assume !!(~len > 1); {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,878 INFO L256 TraceCheckUtils]: 26: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1688#true} is VALID [2018-11-18 23:52:59,878 INFO L273 TraceCheckUtils]: 27: Hoare triple {1688#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; {1688#true} is VALID [2018-11-18 23:52:59,878 INFO L273 TraceCheckUtils]: 28: Hoare triple {1688#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1688#true} is VALID [2018-11-18 23:52:59,878 INFO L273 TraceCheckUtils]: 29: Hoare triple {1688#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1688#true} is VALID [2018-11-18 23:52:59,879 INFO L273 TraceCheckUtils]: 30: Hoare triple {1688#true} assume true; {1688#true} is VALID [2018-11-18 23:52:59,879 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1688#true} {1693#(<= 3 |sll_circular_create_#in~len|)} #140#return; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,880 INFO L273 TraceCheckUtils]: 32: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 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; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,880 INFO L273 TraceCheckUtils]: 33: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} assume true; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,880 INFO L273 TraceCheckUtils]: 34: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} assume !(~len > 1); {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,881 INFO L273 TraceCheckUtils]: 35: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,881 INFO L273 TraceCheckUtils]: 36: Hoare triple {1693#(<= 3 |sll_circular_create_#in~len|)} assume true; {1693#(<= 3 |sll_circular_create_#in~len|)} is VALID [2018-11-18 23:52:59,882 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {1693#(<= 3 |sll_circular_create_#in~len|)} {1690#(<= main_~len~0 2)} #132#return; {1689#false} is VALID [2018-11-18 23:52:59,882 INFO L273 TraceCheckUtils]: 38: Hoare triple {1689#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; {1689#false} is VALID [2018-11-18 23:52:59,882 INFO L256 TraceCheckUtils]: 39: Hoare triple {1689#false} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {1689#false} is VALID [2018-11-18 23:52:59,883 INFO L273 TraceCheckUtils]: 40: Hoare triple {1689#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {1689#false} is VALID [2018-11-18 23:52:59,883 INFO L256 TraceCheckUtils]: 41: Hoare triple {1689#false} call #t~ret8.base, #t~ret8.offset := node_create(~data); {1689#false} is VALID [2018-11-18 23:52:59,883 INFO L273 TraceCheckUtils]: 42: Hoare triple {1689#false} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1689#false} is VALID [2018-11-18 23:52:59,883 INFO L273 TraceCheckUtils]: 43: Hoare triple {1689#false} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1689#false} is VALID [2018-11-18 23:52:59,884 INFO L273 TraceCheckUtils]: 44: Hoare triple {1689#false} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1689#false} is VALID [2018-11-18 23:52:59,884 INFO L273 TraceCheckUtils]: 45: Hoare triple {1689#false} assume true; {1689#false} is VALID [2018-11-18 23:52:59,884 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {1689#false} {1689#false} #142#return; {1689#false} is VALID [2018-11-18 23:52:59,885 INFO L273 TraceCheckUtils]: 47: Hoare triple {1689#false} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1689#false} is VALID [2018-11-18 23:52:59,885 INFO L273 TraceCheckUtils]: 48: Hoare triple {1689#false} assume 0 == #t~mem9.base && 0 == #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~new_head~1.base, ~new_head~1.offset, 4); {1689#false} is VALID [2018-11-18 23:52:59,885 INFO L273 TraceCheckUtils]: 49: Hoare triple {1689#false} assume true; {1689#false} is VALID [2018-11-18 23:52:59,885 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1689#false} {1689#false} #134#return; {1689#false} is VALID [2018-11-18 23:52:59,886 INFO L273 TraceCheckUtils]: 51: Hoare triple {1689#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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {1689#false} is VALID [2018-11-18 23:52:59,886 INFO L273 TraceCheckUtils]: 52: Hoare triple {1689#false} assume !(~uneq~0 != #t~mem17);havoc #t~mem17;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~ptr~0.base, ~ptr~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~count~0 := 1; {1689#false} is VALID [2018-11-18 23:52:59,886 INFO L273 TraceCheckUtils]: 53: Hoare triple {1689#false} assume true;call #t~mem20 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {1689#false} is VALID [2018-11-18 23:52:59,886 INFO L273 TraceCheckUtils]: 54: Hoare triple {1689#false} assume ~data~0 != #t~mem20;havoc #t~mem20; {1689#false} is VALID [2018-11-18 23:52:59,886 INFO L273 TraceCheckUtils]: 55: Hoare triple {1689#false} assume !false; {1689#false} is VALID [2018-11-18 23:52:59,888 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 17 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-18 23:52:59,907 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:52:59,907 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2018-11-18 23:52:59,908 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 56 [2018-11-18 23:52:59,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:52:59,908 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-18 23:52:59,977 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:59,977 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-18 23:52:59,977 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-18 23:52:59,978 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:52:59,978 INFO L87 Difference]: Start difference. First operand 64 states and 75 transitions. Second operand 6 states. [2018-11-18 23:53:00,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:00,708 INFO L93 Difference]: Finished difference Result 96 states and 109 transitions. [2018-11-18 23:53:00,709 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-18 23:53:00,709 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 56 [2018-11-18 23:53:00,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:53:00,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:53:00,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 91 transitions. [2018-11-18 23:53:00,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:53:00,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 91 transitions. [2018-11-18 23:53:00,715 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 91 transitions. [2018-11-18 23:53:00,828 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:00,831 INFO L225 Difference]: With dead ends: 96 [2018-11-18 23:53:00,831 INFO L226 Difference]: Without dead ends: 48 [2018-11-18 23:53:00,832 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:53:00,832 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-18 23:53:00,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2018-11-18 23:53:00,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:53:00,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 48 states. [2018-11-18 23:53:00,934 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-18 23:53:00,934 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-18 23:53:00,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:00,936 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2018-11-18 23:53:00,936 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-18 23:53:00,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:00,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:00,937 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-18 23:53:00,937 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-18 23:53:00,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:00,939 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2018-11-18 23:53:00,939 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-18 23:53:00,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:00,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:00,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:53:00,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:53:00,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-18 23:53:00,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-18 23:53:00,942 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 56 [2018-11-18 23:53:00,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:53:00,942 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-18 23:53:00,942 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-18 23:53:00,942 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-18 23:53:00,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-18 23:53:00,943 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:53:00,943 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:53:00,943 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:53:00,944 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:53:00,944 INFO L82 PathProgramCache]: Analyzing trace with hash 1324391319, now seen corresponding path program 1 times [2018-11-18 23:53:00,944 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:53:00,944 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:53:00,945 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:00,945 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:00,945 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:00,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:02,447 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 47 [2018-11-18 23:53:02,743 WARN L180 SmtUtils]: Spent 152.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 51 [2018-11-18 23:53:03,009 WARN L180 SmtUtils]: Spent 143.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 54 [2018-11-18 23:53:03,350 WARN L180 SmtUtils]: Spent 181.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 68 [2018-11-18 23:53:03,679 WARN L180 SmtUtils]: Spent 189.00 ms on a formula simplification. DAG size of input: 75 DAG size of output: 60 [2018-11-18 23:53:03,976 INFO L256 TraceCheckUtils]: 0: Hoare triple {2149#true} call ULTIMATE.init(); {2149#true} is VALID [2018-11-18 23:53:03,977 INFO L273 TraceCheckUtils]: 1: Hoare triple {2149#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2149#true} is VALID [2018-11-18 23:53:03,977 INFO L273 TraceCheckUtils]: 2: Hoare triple {2149#true} assume true; {2149#true} is VALID [2018-11-18 23:53:03,977 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2149#true} {2149#true} #144#return; {2149#true} is VALID [2018-11-18 23:53:03,977 INFO L256 TraceCheckUtils]: 4: Hoare triple {2149#true} call #t~ret24 := main(); {2149#true} is VALID [2018-11-18 23:53:03,979 INFO L273 TraceCheckUtils]: 5: Hoare triple {2149#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); {2151#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:53:03,980 INFO L256 TraceCheckUtils]: 6: Hoare triple {2151#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:03,980 INFO L273 TraceCheckUtils]: 7: Hoare triple {2152#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:03,980 INFO L256 TraceCheckUtils]: 8: Hoare triple {2152#(= |#valid| |old(#valid)|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:03,981 INFO L273 TraceCheckUtils]: 9: Hoare triple {2152#(= |#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; {2153#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)))} is VALID [2018-11-18 23:53:03,982 INFO L273 TraceCheckUtils]: 10: Hoare triple {2153#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2153#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)))} is VALID [2018-11-18 23:53:03,983 INFO L273 TraceCheckUtils]: 11: Hoare triple {2153#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2154#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:53:03,984 INFO L273 TraceCheckUtils]: 12: Hoare triple {2154#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)))} assume true; {2154#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:53:03,991 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {2154#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)))} {2152#(= |#valid| |old(#valid)|)} #138#return; {2155#(and (= 0 (select |old(#valid)| |sll_circular_create_#t~ret3.base|)) (= (select |#valid| |sll_circular_create_#t~ret3.base|) 1))} is VALID [2018-11-18 23:53:03,992 INFO L273 TraceCheckUtils]: 14: Hoare triple {2155#(and (= 0 (select |old(#valid)| |sll_circular_create_#t~ret3.base|)) (= (select |#valid| |sll_circular_create_#t~ret3.base|) 1))} ~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; {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} is VALID [2018-11-18 23:53:03,992 INFO L273 TraceCheckUtils]: 15: Hoare triple {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} assume true; {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} is VALID [2018-11-18 23:53:04,003 INFO L273 TraceCheckUtils]: 16: Hoare triple {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} assume !!(~len > 1); {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} is VALID [2018-11-18 23:53:04,004 INFO L256 TraceCheckUtils]: 17: Hoare triple {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:04,005 INFO L273 TraceCheckUtils]: 18: Hoare triple {2152#(= |#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; {2157#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0))} is VALID [2018-11-18 23:53:04,008 INFO L273 TraceCheckUtils]: 19: Hoare triple {2157#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2157#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0))} is VALID [2018-11-18 23:53:04,009 INFO L273 TraceCheckUtils]: 20: Hoare triple {2157#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2158#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} is VALID [2018-11-18 23:53:04,009 INFO L273 TraceCheckUtils]: 21: Hoare triple {2158#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} assume true; {2158#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} is VALID [2018-11-18 23:53:04,010 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2158#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0))} {2156#(and (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (= (select |#valid| sll_circular_create_~last~0.base) 1))} #140#return; {2159#(and (= 0 |sll_circular_create_#t~ret4.offset|) (= (select |#valid| |sll_circular_create_#t~ret4.base|) 1) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~last~0.base |sll_circular_create_#t~ret4.base|)))} is VALID [2018-11-18 23:53:04,011 INFO L273 TraceCheckUtils]: 23: Hoare triple {2159#(and (= 0 |sll_circular_create_#t~ret4.offset|) (= (select |#valid| |sll_circular_create_#t~ret4.base|) 1) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)) (not (= sll_circular_create_~last~0.base |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, 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; {2160#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) 0))))} is VALID [2018-11-18 23:53:04,012 INFO L273 TraceCheckUtils]: 24: Hoare triple {2160#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) 0))))} assume true; {2160#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) 0))))} is VALID [2018-11-18 23:53:04,013 INFO L273 TraceCheckUtils]: 25: Hoare triple {2160#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) 0))))} assume !(~len > 1); {2160#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) 0))))} is VALID [2018-11-18 23:53:04,014 INFO L273 TraceCheckUtils]: 26: Hoare triple {2160#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (= 0 (select |old(#valid)| (select (select (store |#memory_$Pointer$.base| sll_circular_create_~last~0.base (store (select |#memory_$Pointer$.base| sll_circular_create_~last~0.base) sll_circular_create_~last~0.offset sll_circular_create_~head~0.base)) sll_circular_create_~head~0.base) 0))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {2161#(and (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0))))} is VALID [2018-11-18 23:53:04,015 INFO L273 TraceCheckUtils]: 27: Hoare triple {2161#(and (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0))))} assume true; {2161#(and (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0))))} is VALID [2018-11-18 23:53:04,017 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2161#(and (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1) (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) 0))))} {2151#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} #132#return; {2162#(and (= 0 |main_#t~ret15.offset|) (= 0 |main_~#s~0.offset|) (or (and (not (= |main_~#s~0.base| (select (select (store |#memory_$Pointer$.base| |main_~#s~0.base| (store (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset| |main_#t~ret15.base|)) |main_#t~ret15.base|) 0))) (= (select |#valid| |main_#t~ret15.base|) 1)) (= |main_#t~ret15.base| |main_~#s~0.base|)))} is VALID [2018-11-18 23:53:04,019 INFO L273 TraceCheckUtils]: 29: Hoare triple {2162#(and (= 0 |main_#t~ret15.offset|) (= 0 |main_~#s~0.offset|) (or (and (not (= |main_~#s~0.base| (select (select (store |#memory_$Pointer$.base| |main_~#s~0.base| (store (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset| |main_#t~ret15.base|)) |main_#t~ret15.base|) 0))) (= (select |#valid| |main_#t~ret15.base|) 1)) (= |main_#t~ret15.base| |main_~#s~0.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; {2163#(and (or (and (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:53:04,021 INFO L256 TraceCheckUtils]: 30: Hoare triple {2163#(and (or (and (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|))} call sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {2164#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:04,022 INFO L273 TraceCheckUtils]: 31: Hoare triple {2164#(and (= |#valid| |old(#valid)|) (= |#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; {2165#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= sll_circular_prepend_~data |sll_circular_prepend_#in~data|) (<= |sll_circular_prepend_#in~data| sll_circular_prepend_~data))} is VALID [2018-11-18 23:53:04,023 INFO L256 TraceCheckUtils]: 32: Hoare triple {2165#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= sll_circular_prepend_~data |sll_circular_prepend_#in~data|) (<= |sll_circular_prepend_#in~data| sll_circular_prepend_~data))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {2164#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:04,024 INFO L273 TraceCheckUtils]: 33: Hoare triple {2164#(and (= |#valid| |old(#valid)|) (= |#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; {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:04,025 INFO L273 TraceCheckUtils]: 34: Hoare triple {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:04,029 INFO L273 TraceCheckUtils]: 35: Hoare triple {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2167#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (select (select |#memory_int| |node_create_#res.base|) 4) |node_create_#in~data|) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= 0 |node_create_#res.offset|) (= 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|))} is VALID [2018-11-18 23:53:04,031 INFO L273 TraceCheckUtils]: 36: Hoare triple {2167#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (select (select |#memory_int| |node_create_#res.base|) 4) |node_create_#in~data|) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= 0 |node_create_#res.offset|) (= 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|))} assume true; {2167#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (select (select |#memory_int| |node_create_#res.base|) 4) |node_create_#in~data|) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= 0 |node_create_#res.offset|) (= 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|))} is VALID [2018-11-18 23:53:04,034 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2167#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (= (select (select |#memory_int| |node_create_#res.base|) 4) |node_create_#in~data|) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= 0 |node_create_#res.offset|) (= 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|))} {2165#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= sll_circular_prepend_~data |sll_circular_prepend_#in~data|) (<= |sll_circular_prepend_#in~data| sll_circular_prepend_~data))} #142#return; {2168#(and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 |sll_circular_prepend_#t~ret8.offset|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= |#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|)))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) 4) |sll_circular_prepend_#in~data|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (not (= |sll_circular_prepend_#in~head.base| |sll_circular_prepend_#t~ret8.base|)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} is VALID [2018-11-18 23:53:04,036 INFO L273 TraceCheckUtils]: 38: Hoare triple {2168#(and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 |sll_circular_prepend_#t~ret8.offset|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)) (= 0 (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= |#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|)))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) 4) |sll_circular_prepend_#in~data|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (not (= |sll_circular_prepend_#in~head.base| |sll_circular_prepend_#t~ret8.base|)) (not (= |sll_circular_prepend_#in~head.offset| 0))))} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2169#(and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= |sll_circular_prepend_#t~mem9.offset| 0) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (= |sll_circular_prepend_#t~mem9.base| 0) (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (or (= |sll_circular_prepend_#t~mem9.base| 0) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 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|))))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= |sll_circular_prepend_#t~mem9.offset| (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)))} is VALID [2018-11-18 23:53:04,039 INFO L273 TraceCheckUtils]: 39: Hoare triple {2169#(and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (= |sll_circular_prepend_#t~mem9.offset| 0) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (= |sll_circular_prepend_#t~mem9.base| 0) (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (and (or (= 0 (select |old(#valid)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (or (= |sll_circular_prepend_#t~mem9.base| 0) (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 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|))))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= |sll_circular_prepend_#t~mem9.offset| (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)))} assume !(0 == #t~mem9.base && 0 == #t~mem9.offset);havoc #t~mem9.base, #t~mem9.offset;call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset; {2170#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (not (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= 0 (select |old(#valid)| sll_circular_prepend_~last~1.base))) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.offset 0)))} is VALID [2018-11-18 23:53:04,040 INFO L273 TraceCheckUtils]: 40: Hoare triple {2170#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (not (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= 0 (select |old(#valid)| sll_circular_prepend_~last~1.base))) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.offset 0)))} assume true; {2170#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (not (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= 0 (select |old(#valid)| sll_circular_prepend_~last~1.base))) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.offset 0)))} is VALID [2018-11-18 23:53:04,042 INFO L273 TraceCheckUtils]: 41: Hoare triple {2170#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (not (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= 0 (select |old(#valid)| sll_circular_prepend_~last~1.base))) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.offset 0)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2171#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (not (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (= |sll_circular_prepend_#t~mem11.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset)) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= 0 (select |old(#valid)| sll_circular_prepend_~last~1.base))) (= |sll_circular_prepend_#t~mem12.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (not (= sll_circular_prepend_~head.offset sll_circular_prepend_~last~1.offset)) (not (= sll_circular_prepend_~head.base sll_circular_prepend_~last~1.base)) (= |sll_circular_prepend_#t~mem12.offset| |sll_circular_prepend_#t~mem11.offset|)) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.offset 0)))} is VALID [2018-11-18 23:53:04,045 INFO L273 TraceCheckUtils]: 42: Hoare triple {2171#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (or (not (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (and (= |sll_circular_prepend_#t~mem11.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base) sll_circular_prepend_~last~1.offset)) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~last~1.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~last~1.base)) (= 0 (select |old(#valid)| sll_circular_prepend_~last~1.base))) (= |sll_circular_prepend_#t~mem12.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (not (= sll_circular_prepend_~head.offset sll_circular_prepend_~last~1.offset)) (not (= sll_circular_prepend_~head.base sll_circular_prepend_~last~1.base)) (= |sll_circular_prepend_#t~mem12.offset| |sll_circular_prepend_#t~mem11.offset|)) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (= sll_circular_prepend_~last~1.offset 0)))} assume !!(#t~mem11.base != #t~mem12.base || #t~mem11.offset != #t~mem12.offset);havoc #t~mem11.base, #t~mem11.offset;havoc #t~mem12.base, #t~mem12.offset;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);~last~1.base, ~last~1.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} is VALID [2018-11-18 23:53:04,046 INFO L273 TraceCheckUtils]: 43: Hoare triple {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} assume true; {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} is VALID [2018-11-18 23:53:04,047 INFO L273 TraceCheckUtils]: 44: Hoare triple {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} is VALID [2018-11-18 23:53:04,047 INFO L273 TraceCheckUtils]: 45: Hoare triple {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} assume !(#t~mem11.base != #t~mem12.base || #t~mem11.offset != #t~mem12.offset);havoc #t~mem11.base, #t~mem11.offset;havoc #t~mem12.base, #t~mem12.offset; {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} is VALID [2018-11-18 23:53:04,050 INFO L273 TraceCheckUtils]: 46: Hoare triple {2172#(or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (and (or (and (or (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (or (= (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~head.base) (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base)) (not (= |sll_circular_prepend_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (= (select (select |old(#memory_$Pointer$.base)| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) 0) |sll_circular_prepend_#in~head.base|)) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|) (or (not (= |sll_circular_prepend_#in~head.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (or (not (= sll_circular_prepend_~head.base sll_circular_prepend_~new_head~1.base)) (not (= |sll_circular_prepend_#in~head.offset| 0)))) (not (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base))) (or (= sll_circular_prepend_~last~1.base sll_circular_prepend_~head.base) (and (= sll_circular_prepend_~head.offset |sll_circular_prepend_#in~head.offset|) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= sll_circular_prepend_~head.base |sll_circular_prepend_#in~head.base|)))))} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem14.base, #t~mem14.offset, ~new_head~1.base, ~new_head~1.offset, 4);havoc #t~mem14.base, #t~mem14.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~last~1.base, ~last~1.offset, 4); {2173#(or (and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 4) |sll_circular_prepend_#in~data|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (and (not (= |sll_circular_prepend_#in~head.base| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 0) |sll_circular_prepend_#in~head.base|) (= 0 (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))) (not (= |sll_circular_prepend_#in~head.offset| 0)))} is VALID [2018-11-18 23:53:04,051 INFO L273 TraceCheckUtils]: 47: Hoare triple {2173#(or (and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 4) |sll_circular_prepend_#in~data|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (and (not (= |sll_circular_prepend_#in~head.base| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 0) |sll_circular_prepend_#in~head.base|) (= 0 (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))) (not (= |sll_circular_prepend_#in~head.offset| 0)))} assume true; {2173#(or (and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 4) |sll_circular_prepend_#in~data|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (and (not (= |sll_circular_prepend_#in~head.base| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 0) |sll_circular_prepend_#in~head.base|) (= 0 (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))) (not (= |sll_circular_prepend_#in~head.offset| 0)))} is VALID [2018-11-18 23:53:04,054 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2173#(or (and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 4) |sll_circular_prepend_#in~data|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|) 0)) (and (not (= |sll_circular_prepend_#in~head.base| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (or (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) 0) |sll_circular_prepend_#in~head.base|) (= 0 (select |old(#valid)| (select (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))) (not (= |sll_circular_prepend_#in~head.offset| 0)))} {2163#(and (or (and (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|))} #134#return; {2174#(and (= main_~uneq~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-18 23:53:04,054 INFO L273 TraceCheckUtils]: 49: Hoare triple {2174#(and (= main_~uneq~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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {2175#(= main_~uneq~0 |main_#t~mem17|)} is VALID [2018-11-18 23:53:04,055 INFO L273 TraceCheckUtils]: 50: Hoare triple {2175#(= main_~uneq~0 |main_#t~mem17|)} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {2150#false} is VALID [2018-11-18 23:53:04,055 INFO L273 TraceCheckUtils]: 51: Hoare triple {2150#false} assume !false; {2150#false} is VALID [2018-11-18 23:53:04,074 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-18 23:53:04,074 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:53:04,074 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:53:04,083 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:04,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:04,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:04,199 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:53:04,276 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-18 23:53:04,278 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:04,282 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:04,283 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-18 23:53:04,285 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:04,829 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:53:04,833 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:04,834 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:04,838 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:04,848 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:04,849 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:34, output treesize:30 [2018-11-18 23:53:04,970 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:04,976 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 58 [2018-11-18 23:53:04,985 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 12 treesize of output 11 [2018-11-18 23:53:04,989 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,002 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,013 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:05,014 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:54, output treesize:46 [2018-11-18 23:53:05,020 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:05,157 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:05,159 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:05,160 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:05,161 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 52 [2018-11-18 23:53:05,177 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 46 [2018-11-18 23:53:05,183 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,197 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,217 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-18 23:53:05,217 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:54, output treesize:54 [2018-11-18 23:53:05,223 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:05,332 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-18 23:53:05,337 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:05,339 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,342 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,416 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 52 [2018-11-18 23:53:05,425 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:05,427 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,441 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,478 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:05,478 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:79, output treesize:105 [2018-11-18 23:53:05,484 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:05,731 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-18 23:53:05,745 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-18 23:53:05,746 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,750 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,774 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:05,774 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:50, output treesize:49 [2018-11-18 23:53:05,783 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:16,002 WARN L180 SmtUtils]: Spent 2.55 s on a formula simplification that was a NOOP. DAG size: 96 [2018-11-18 23:53:30,829 WARN L180 SmtUtils]: Spent 14.64 s on a formula simplification. DAG size of input: 256 DAG size of output: 145 [2018-11-18 23:53:30,856 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:30,860 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:30,863 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:30,866 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:30,867 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 394 treesize of output 386 [2018-11-18 23:53:30,877 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:33,451 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:33,453 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:33,457 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:33,460 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:33,461 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 394 treesize of output 422 [2018-11-18 23:53:33,465 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:35,673 INFO L682 Elim1Store]: detected equality via solver [2018-11-18 23:53:35,743 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,769 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,769 INFO L303 Elim1Store]: Index analysis took 101 ms [2018-11-18 23:53:35,770 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 386 treesize of output 327 [2018-11-18 23:53:35,789 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 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 44 treesize of output 35 [2018-11-18 23:53:35,791 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:35,896 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,902 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,908 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 79 treesize of output 84 [2018-11-18 23:53:35,918 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 18 treesize of output 16 [2018-11-18 23:53:35,920 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:35,958 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,961 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,963 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,966 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:35,984 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 107 [2018-11-18 23:53:35,996 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 28 treesize of output 27 [2018-11-18 23:53:35,999 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:36,026 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:36,056 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:36,171 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:36,186 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:36,190 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 260 treesize of output 213 [2018-11-18 23:53:36,215 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 51 treesize of output 66 [2018-11-18 23:53:36,222 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-18 23:53:36,289 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-18 23:53:36,290 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:36,333 INFO L682 Elim1Store]: detected equality via solver [2018-11-18 23:53:36,334 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 159 treesize of output 118 [2018-11-18 23:53:36,342 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:36,378 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 9 treesize of output 1 [2018-11-18 23:53:36,380 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:36,407 INFO L267 ElimStorePlain]: Start of recursive call 10: 4 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:36,452 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:37,089 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:37,097 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 150 treesize of output 122 [2018-11-18 23:53:37,104 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-18 23:53:37,106 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:37,157 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:37,163 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 41 [2018-11-18 23:53:37,173 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 22 treesize of output 7 [2018-11-18 23:53:37,176 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:37,197 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 20 [2018-11-18 23:53:37,203 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:37,206 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:37,212 INFO L267 ElimStorePlain]: Start of recursive call 19: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:37,219 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:37,252 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-18 23:53:37,689 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:37,692 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:37,694 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:37,695 INFO L682 Elim1Store]: detected equality via solver [2018-11-18 23:53:37,788 INFO L303 Elim1Store]: Index analysis took 107 ms [2018-11-18 23:53:37,790 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 5 select indices, 5 select index equivalence classes, 8 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 386 treesize of output 304 [2018-11-18 23:53:37,852 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 19 [2018-11-18 23:53:37,854 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:37,994 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 292 treesize of output 237 [2018-11-18 23:53:38,006 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 7 treesize of output 1 [2018-11-18 23:53:38,006 INFO L267 ElimStorePlain]: Start of recursive call 24: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:38,061 INFO L682 Elim1Store]: detected equality via solver [2018-11-18 23:53:38,062 INFO L477 Elim1Store]: Elim1 did not use 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 191 treesize of output 136 [2018-11-18 23:53:38,075 INFO L267 ElimStorePlain]: Start of recursive call 25: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:38,114 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 25 [2018-11-18 23:53:38,115 INFO L267 ElimStorePlain]: Start of recursive call 26: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:38,373 INFO L267 ElimStorePlain]: Start of recursive call 23: 3 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:38,656 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:38,661 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 52 treesize of output 57 [2018-11-18 23:53:38,670 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-18 23:53:38,672 INFO L267 ElimStorePlain]: Start of recursive call 28: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:38,703 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:38,717 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 60 [2018-11-18 23:53:38,726 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:38,727 INFO L267 ElimStorePlain]: Start of recursive call 30: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:38,748 INFO L267 ElimStorePlain]: Start of recursive call 29: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:38,765 INFO L267 ElimStorePlain]: Start of recursive call 27: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:38,812 INFO L267 ElimStorePlain]: Start of recursive call 21: 1 dim-1 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:38,919 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:38,927 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 150 treesize of output 122 [2018-11-18 23:53:38,939 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 15 [2018-11-18 23:53:38,941 INFO L267 ElimStorePlain]: Start of recursive call 32: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:39,120 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:39,167 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:39,192 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:39,193 INFO L303 Elim1Store]: Index analysis took 105 ms [2018-11-18 23:53:39,194 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 51 treesize of output 60 [2018-11-18 23:53:39,287 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 32 [2018-11-18 23:53:39,315 INFO L267 ElimStorePlain]: Start of recursive call 34: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:39,390 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:39,393 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:39,399 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 60 [2018-11-18 23:53:39,404 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:39,406 INFO L267 ElimStorePlain]: Start of recursive call 36: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:39,422 INFO L267 ElimStorePlain]: Start of recursive call 35: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:39,431 INFO L267 ElimStorePlain]: Start of recursive call 33: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:39,467 INFO L267 ElimStorePlain]: Start of recursive call 31: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:39,570 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 2 dim-1 vars, 4 dim-2 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2018-11-18 23:53:39,571 INFO L202 ElimStorePlain]: Needed 36 recursive calls to eliminate 12 variables, input treesize:997, output treesize:237 [2018-11-18 23:53:39,843 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:40,198 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:40,203 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:40,208 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 0 case distinctions, treesize of input 132 treesize of output 113 [2018-11-18 23:53:40,236 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 75 treesize of output 80 [2018-11-18 23:53:40,248 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-18 23:53:40,318 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 58 treesize of output 46 [2018-11-18 23:53:40,324 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:40,368 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 19 treesize of output 13 [2018-11-18 23:53:40,379 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,410 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:40,564 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:40,591 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:40,592 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 61 [2018-11-18 23:53:40,597 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-18 23:53:40,598 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,621 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 17 treesize of output 7 [2018-11-18 23:53:40,635 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,654 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2018-11-18 23:53:40,693 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,741 INFO L267 ElimStorePlain]: Start of recursive call 6: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,807 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 132 treesize of output 126 [2018-11-18 23:53:40,814 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-18 23:53:40,815 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,850 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 21 treesize of output 11 [2018-11-18 23:53:40,853 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,881 INFO L267 ElimStorePlain]: Start of recursive call 10: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:40,941 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:40,945 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:53:40,960 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 0 case distinctions, treesize of input 112 treesize of output 89 [2018-11-18 23:53:40,975 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 21 treesize of output 26 [2018-11-18 23:53:40,980 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-18 23:53:41,016 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 48 treesize of output 36 [2018-11-18 23:53:41,030 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:41,057 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 17 [2018-11-18 23:53:41,061 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:41,077 INFO L267 ElimStorePlain]: Start of recursive call 13: 3 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:53:41,121 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 31 [2018-11-18 23:53:41,131 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-18 23:53:41,132 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:41,146 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:41,182 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 31 [2018-11-18 23:53:41,188 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-18 23:53:41,190 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:41,202 INFO L267 ElimStorePlain]: Start of recursive call 19: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:41,237 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 6 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:41,237 INFO L202 ElimStorePlain]: Needed 20 recursive calls to eliminate 12 variables, input treesize:265, output treesize:10 [2018-11-18 23:53:41,246 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:41,337 INFO L256 TraceCheckUtils]: 0: Hoare triple {2149#true} call ULTIMATE.init(); {2149#true} is VALID [2018-11-18 23:53:41,338 INFO L273 TraceCheckUtils]: 1: Hoare triple {2149#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2149#true} is VALID [2018-11-18 23:53:41,338 INFO L273 TraceCheckUtils]: 2: Hoare triple {2149#true} assume true; {2149#true} is VALID [2018-11-18 23:53:41,338 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2149#true} {2149#true} #144#return; {2149#true} is VALID [2018-11-18 23:53:41,338 INFO L256 TraceCheckUtils]: 4: Hoare triple {2149#true} call #t~ret24 := main(); {2149#true} is VALID [2018-11-18 23:53:41,339 INFO L273 TraceCheckUtils]: 5: Hoare triple {2149#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); {2151#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-18 23:53:41,340 INFO L256 TraceCheckUtils]: 6: Hoare triple {2151#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:41,341 INFO L273 TraceCheckUtils]: 7: Hoare triple {2152#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:41,341 INFO L256 TraceCheckUtils]: 8: Hoare triple {2152#(= |#valid| |old(#valid)|)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:41,342 INFO L273 TraceCheckUtils]: 9: Hoare triple {2152#(= |#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; {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-18 23:53:41,343 INFO L273 TraceCheckUtils]: 10: Hoare triple {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-18 23:53:41,344 INFO L273 TraceCheckUtils]: 11: Hoare triple {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:53:41,345 INFO L273 TraceCheckUtils]: 12: Hoare triple {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} assume true; {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:53:41,347 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} {2152#(= |#valid| |old(#valid)|)} #138#return; {2220#(and (= |#valid| (store |old(#valid)| |sll_circular_create_#t~ret3.base| 1)) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret3.base|)))} is VALID [2018-11-18 23:53:41,348 INFO L273 TraceCheckUtils]: 14: Hoare triple {2220#(and (= |#valid| (store |old(#valid)| |sll_circular_create_#t~ret3.base| 1)) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret3.base|)))} ~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; {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:53:41,348 INFO L273 TraceCheckUtils]: 15: Hoare triple {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} assume true; {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:53:41,349 INFO L273 TraceCheckUtils]: 16: Hoare triple {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} assume !!(~len > 1); {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:53:41,350 INFO L256 TraceCheckUtils]: 17: Hoare triple {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2152#(= |#valid| |old(#valid)|)} is VALID [2018-11-18 23:53:41,351 INFO L273 TraceCheckUtils]: 18: Hoare triple {2152#(= |#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; {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-18 23:53:41,352 INFO L273 TraceCheckUtils]: 19: Hoare triple {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-18 23:53:41,353 INFO L273 TraceCheckUtils]: 20: Hoare triple {2206#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:53:41,354 INFO L273 TraceCheckUtils]: 21: Hoare triple {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} assume true; {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} is VALID [2018-11-18 23:53:41,356 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {2213#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)))} {2224#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= |#valid| (store |old(#valid)| sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0))} #140#return; {2249#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base| 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base|) 0))} is VALID [2018-11-18 23:53:41,358 INFO L273 TraceCheckUtils]: 23: Hoare triple {2249#(and (= sll_circular_create_~head~0.base sll_circular_create_~last~0.base) (= (store (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base| 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~head~0.base) 0) (= (select (store |old(#valid)| sll_circular_create_~head~0.base 1) |sll_circular_create_#t~ret4.base|) 0))} ~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, 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; {2253#(and (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset) sll_circular_create_~last~0.base) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:53:41,359 INFO L273 TraceCheckUtils]: 24: Hoare triple {2253#(and (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset) sll_circular_create_~last~0.base) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} assume true; {2253#(and (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset) sll_circular_create_~last~0.base) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:53:41,359 INFO L273 TraceCheckUtils]: 25: Hoare triple {2253#(and (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset) sll_circular_create_~last~0.base) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} assume !(~len > 1); {2253#(and (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset) sll_circular_create_~last~0.base) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} is VALID [2018-11-18 23:53:41,361 INFO L273 TraceCheckUtils]: 26: Hoare triple {2253#(and (= (store (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base 1) |#valid|) (= (select |old(#valid)| sll_circular_create_~last~0.base) 0) (= (select (select |#memory_$Pointer$.base| sll_circular_create_~head~0.base) sll_circular_create_~head~0.offset) sll_circular_create_~last~0.base) (= (select (store |old(#valid)| sll_circular_create_~last~0.base 1) sll_circular_create_~head~0.base) 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {2263#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base| 1)) (exists ((sll_circular_create_~last~0.offset Int)) (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) sll_circular_create_~last~0.offset))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base|)) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) 0))} is VALID [2018-11-18 23:53:41,363 INFO L273 TraceCheckUtils]: 27: Hoare triple {2263#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base| 1)) (exists ((sll_circular_create_~last~0.offset Int)) (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) sll_circular_create_~last~0.offset))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base|)) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) 0))} assume true; {2263#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base| 1)) (exists ((sll_circular_create_~last~0.offset Int)) (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) sll_circular_create_~last~0.offset))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base|)) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) 0))} is VALID [2018-11-18 23:53:41,366 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2263#(and (= |#valid| (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base| 1)) (exists ((sll_circular_create_~last~0.offset Int)) (= |sll_circular_create_#res.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) sll_circular_create_~last~0.offset))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|) 1) |sll_circular_create_#res.base|)) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_circular_create_#res.base|) |sll_circular_create_#res.offset|)) 0))} {2151#(and (= 0 |main_~#s~0.offset|) (= (select |#valid| |main_~#s~0.base|) 1))} #132#return; {2270#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|) |main_#t~ret15.base|)) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) sll_circular_create_~last~0.offset) |main_#t~ret15.base|)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 |main_~#s~0.offset|) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 1 (select |#valid| |main_#t~ret15.base|)) (= (select |#valid| |main_~#s~0.base|) 1) (not (= |main_~#s~0.base| |main_#t~ret15.base|)))} is VALID [2018-11-18 23:53:41,368 INFO L273 TraceCheckUtils]: 29: Hoare triple {2270#(and (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|) |main_#t~ret15.base|)) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) sll_circular_create_~last~0.offset) |main_#t~ret15.base|)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 |main_~#s~0.offset|) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 1 (select |#valid| |main_#t~ret15.base|)) (= (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; {2274#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= 1 (select |#valid| (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|)))) (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_~uneq~0 5) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (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|))) sll_circular_create_~last~0.offset))) (= (select |#valid| |main_~#s~0.base|) 1) (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-18 23:53:41,370 INFO L256 TraceCheckUtils]: 30: Hoare triple {2274#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= 1 (select |#valid| (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|)))) (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_~uneq~0 5) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (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|))) sll_circular_create_~last~0.offset))) (= (select |#valid| |main_~#s~0.base|) 1) (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 sll_circular_prepend(~#s~0.base, ~#s~0.offset, ~uneq~0); {2164#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:41,371 INFO L273 TraceCheckUtils]: 31: Hoare triple {2164#(and (= |#valid| |old(#valid)|) (= |#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; {2281#(and (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |sll_circular_prepend_#in~data| sll_circular_prepend_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:41,372 INFO L256 TraceCheckUtils]: 32: Hoare triple {2281#(and (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |sll_circular_prepend_#in~data| sll_circular_prepend_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {2164#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:41,373 INFO L273 TraceCheckUtils]: 33: Hoare triple {2164#(and (= |#valid| |old(#valid)|) (= |#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; {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:41,374 INFO L273 TraceCheckUtils]: 34: Hoare triple {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:53:41,376 INFO L273 TraceCheckUtils]: 35: Hoare triple {2166#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (<= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (<= |node_create_#in~data| node_create_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, 4 + ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2294#(and (<= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) |node_create_#res.offset| 0))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (<= |node_create_#in~data| (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} is VALID [2018-11-18 23:53:41,377 INFO L273 TraceCheckUtils]: 36: Hoare triple {2294#(and (<= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) |node_create_#res.offset| 0))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (<= |node_create_#in~data| (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} assume true; {2294#(and (<= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) |node_create_#res.offset| 0))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (<= |node_create_#in~data| (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} is VALID [2018-11-18 23:53:41,380 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2294#(and (<= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) |node_create_#res.offset| 0))) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| 0) (<= |node_create_#in~data| (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) |node_create_#res.offset| 0))))} {2281#(and (= |#valid| |old(#valid)|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |sll_circular_prepend_#in~data| sll_circular_prepend_~data) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #142#return; {2301#(and (<= (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) (+ |sll_circular_prepend_#t~ret8.offset| 4)) |sll_circular_prepend_#in~data|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 |sll_circular_prepend_#t~ret8.offset|) (= (store |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base|) |sll_circular_prepend_#t~ret8.offset| 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| |sll_circular_prepend_#t~ret8.base|)) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (store |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base|) |sll_circular_prepend_#t~ret8.offset| 0)) |#memory_$Pointer$.base|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) (+ |sll_circular_prepend_#t~ret8.offset| 4))))} is VALID [2018-11-18 23:53:41,383 INFO L273 TraceCheckUtils]: 38: Hoare triple {2301#(and (<= (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) (+ |sll_circular_prepend_#t~ret8.offset| 4)) |sll_circular_prepend_#in~data|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 |sll_circular_prepend_#t~ret8.offset|) (= (store |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.offset)| |sll_circular_prepend_#t~ret8.base|) |sll_circular_prepend_#t~ret8.offset| 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| |sll_circular_prepend_#t~ret8.base|)) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (store |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_prepend_#t~ret8.base|) |sll_circular_prepend_#t~ret8.offset| 0)) |#memory_$Pointer$.base|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| |sll_circular_prepend_#t~ret8.base|) (+ |sll_circular_prepend_#t~ret8.offset| 4))))} ~new_head~1.base, ~new_head~1.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2305#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.offset|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,384 INFO L273 TraceCheckUtils]: 39: Hoare triple {2305#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.base|) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) |sll_circular_prepend_#t~mem9.offset|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} assume !(0 == #t~mem9.base && 0 == #t~mem9.offset);havoc #t~mem9.base, #t~mem9.offset;call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset; {2309#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,386 INFO L273 TraceCheckUtils]: 40: Hoare triple {2309#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} assume true; {2309#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,388 INFO L273 TraceCheckUtils]: 41: Hoare triple {2309#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2309#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,390 INFO L273 TraceCheckUtils]: 42: Hoare triple {2309#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.base) (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) sll_circular_prepend_~last~1.offset) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} assume !!(#t~mem11.base != #t~mem12.base || #t~mem11.offset != #t~mem12.offset);havoc #t~mem11.base, #t~mem11.offset;havoc #t~mem12.base, #t~mem12.offset;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);~last~1.base, ~last~1.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,392 INFO L273 TraceCheckUtils]: 43: Hoare triple {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} assume true; {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,394 INFO L273 TraceCheckUtils]: 44: Hoare triple {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~last~1.base, ~last~1.offset, 4);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:41,395 INFO L273 TraceCheckUtils]: 45: Hoare triple {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} assume !(#t~mem11.base != #t~mem12.base || #t~mem11.offset != #t~mem12.offset);havoc #t~mem11.base, #t~mem11.offset;havoc #t~mem12.base, #t~mem12.offset; {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} is VALID [2018-11-18 23:53:43,402 INFO L273 TraceCheckUtils]: 46: Hoare triple {2319#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0))) (= (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) sll_circular_prepend_~new_head~1.offset 0)) |#memory_$Pointer$.offset|) (= |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~head.offset) (= 0 sll_circular_prepend_~new_head~1.offset) (= sll_circular_prepend_~last~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset)) (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset))) (or (not (= (select (select |#memory_$Pointer$.base| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0)) (not (= (select (select |#memory_$Pointer$.offset| sll_circular_prepend_~head.base) sll_circular_prepend_~head.offset) 0))) (= |sll_circular_prepend_#in~head.base| sll_circular_prepend_~head.base) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) (+ sll_circular_prepend_~new_head~1.offset 4)) |sll_circular_prepend_#in~data|))} call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem14.base, #t~mem14.offset, ~new_head~1.base, ~new_head~1.offset, 4);havoc #t~mem14.base, #t~mem14.offset;call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~head.base, ~head.offset, 4);call write~$Pointer$(~new_head~1.base, ~new_head~1.offset, ~last~1.base, ~last~1.offset, 4); {2332#(or (exists ((v_prenex_6 Int) (v_prenex_7 Int)) (and (= (select |old(#valid)| v_prenex_6) 0) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 0))) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| v_prenex_6) 4)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (store (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 v_prenex_6)) |#memory_$Pointer$.base|) (<= (select (select |#memory_int| v_prenex_6) 4) |sll_circular_prepend_#in~data|))) (exists ((sll_circular_prepend_~new_head~1.base Int) (sll_circular_prepend_~last~1.offset Int)) (and (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset 0))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset sll_circular_prepend_~new_head~1.base)) |#memory_$Pointer$.base|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))))} is UNKNOWN [2018-11-18 23:53:43,404 INFO L273 TraceCheckUtils]: 47: Hoare triple {2332#(or (exists ((v_prenex_6 Int) (v_prenex_7 Int)) (and (= (select |old(#valid)| v_prenex_6) 0) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 0))) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| v_prenex_6) 4)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (store (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 v_prenex_6)) |#memory_$Pointer$.base|) (<= (select (select |#memory_int| v_prenex_6) 4) |sll_circular_prepend_#in~data|))) (exists ((sll_circular_prepend_~new_head~1.base Int) (sll_circular_prepend_~last~1.offset Int)) (and (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset 0))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset sll_circular_prepend_~new_head~1.base)) |#memory_$Pointer$.base|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))))} assume true; {2332#(or (exists ((v_prenex_6 Int) (v_prenex_7 Int)) (and (= (select |old(#valid)| v_prenex_6) 0) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 0))) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| v_prenex_6) 4)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (store (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 v_prenex_6)) |#memory_$Pointer$.base|) (<= (select (select |#memory_int| v_prenex_6) 4) |sll_circular_prepend_#in~data|))) (exists ((sll_circular_prepend_~new_head~1.base Int) (sll_circular_prepend_~last~1.offset Int)) (and (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset 0))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset sll_circular_prepend_~new_head~1.base)) |#memory_$Pointer$.base|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))))} is VALID [2018-11-18 23:53:43,411 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2332#(or (exists ((v_prenex_6 Int) (v_prenex_7 Int)) (and (= (select |old(#valid)| v_prenex_6) 0) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 0))) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| v_prenex_6) 4)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) (= (store (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| v_prenex_6)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_6 (store (select |old(#memory_$Pointer$.base)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_6 (store (select |old(#memory_$Pointer$.offset)| v_prenex_6) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) v_prenex_7 v_prenex_6)) |#memory_$Pointer$.base|) (<= (select (select |#memory_int| v_prenex_6) 4) |sll_circular_prepend_#in~data|))) (exists ((sll_circular_prepend_~new_head~1.base Int) (sll_circular_prepend_~last~1.offset Int)) (and (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset 0))) (<= (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4) |sll_circular_prepend_#in~data|) (= (store (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base| (store (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset| sll_circular_prepend_~new_head~1.base)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))) sll_circular_prepend_~last~1.offset sll_circular_prepend_~new_head~1.base)) |#memory_$Pointer$.base|) (<= |sll_circular_prepend_#in~data| (select (select |#memory_int| sll_circular_prepend_~new_head~1.base) 4)) (= (select |old(#valid)| sll_circular_prepend_~new_head~1.base) 0) (not (= 0 (select (select (store |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base (store (select |old(#memory_$Pointer$.base)| sll_circular_prepend_~new_head~1.base) 0 0)) |sll_circular_prepend_#in~head.base|) |sll_circular_prepend_#in~head.offset|))))))} {2274#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (= 1 (select |#valid| (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|)))) (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_~uneq~0 5) (exists ((sll_circular_create_~last~0.offset Int)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (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|))) sll_circular_create_~last~0.offset))) (= (select |#valid| |main_~#s~0.base|) 1) (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|)))} #134#return; {2339#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((v_arrayElimCell_30 Int) (sll_circular_prepend_~last~1.offset Int)) (and (not (= |main_~#s~0.base| v_arrayElimCell_30)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0) (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset))) (<= main_~uneq~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 4)) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset) v_arrayElimCell_30)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 4) main_~uneq~0) (= 0 (select (select |#memory_$Pointer$.offset| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0) v_arrayElimCell_30)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0))))) (= 0 |main_~#s~0.offset|) (= main_~uneq~0 5)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((v_prenex_7 Int) (v_arrayElimCell_39 Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) v_arrayElimCell_39)) (not (= |main_~#s~0.base| v_arrayElimCell_39)) (= (select (select |#memory_$Pointer$.offset| v_arrayElimCell_39) v_prenex_7) 0) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| v_arrayElimCell_39) v_prenex_7)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) v_arrayElimCell_39)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~uneq~0) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))) (= 0 |main_~#s~0.offset|) (<= main_~uneq~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) |main_~#s~0.base|)) (= main_~uneq~0 5)))} is VALID [2018-11-18 23:53:43,414 INFO L273 TraceCheckUtils]: 49: Hoare triple {2339#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((v_arrayElimCell_30 Int) (sll_circular_prepend_~last~1.offset Int)) (and (not (= |main_~#s~0.base| v_arrayElimCell_30)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0) (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset))) (<= main_~uneq~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 4)) (not (= (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset) v_arrayElimCell_30)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 4) main_~uneq~0) (= 0 (select (select |#memory_$Pointer$.offset| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0) v_arrayElimCell_30)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_arrayElimCell_30) sll_circular_prepend_~last~1.offset)) 0))))) (= 0 |main_~#s~0.offset|) (= main_~uneq~0 5)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((v_prenex_7 Int) (v_arrayElimCell_39 Int)) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) v_arrayElimCell_39)) (not (= |main_~#s~0.base| v_arrayElimCell_39)) (= (select (select |#memory_$Pointer$.offset| v_arrayElimCell_39) v_prenex_7) 0) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (select (select |#memory_$Pointer$.base| v_arrayElimCell_39) v_prenex_7)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) v_arrayElimCell_39)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~uneq~0) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))) (= 0 |main_~#s~0.offset|) (<= main_~uneq~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) |main_~#s~0.base|)) (= main_~uneq~0 5)))} 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;call #t~mem17 := read~int(~ptr~0.base, 4 + ~ptr~0.offset, 4); {2343#(and (<= main_~uneq~0 |main_#t~mem17|) (= main_~uneq~0 5) (<= |main_#t~mem17| main_~uneq~0))} is VALID [2018-11-18 23:53:43,415 INFO L273 TraceCheckUtils]: 50: Hoare triple {2343#(and (<= main_~uneq~0 |main_#t~mem17|) (= main_~uneq~0 5) (<= |main_#t~mem17| main_~uneq~0))} assume ~uneq~0 != #t~mem17;havoc #t~mem17; {2150#false} is VALID [2018-11-18 23:53:43,415 INFO L273 TraceCheckUtils]: 51: Hoare triple {2150#false} assume !false; {2150#false} is VALID [2018-11-18 23:53:43,437 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 13 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-18 23:53:43,456 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:53:43,456 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 24] total 45 [2018-11-18 23:53:43,457 INFO L78 Accepts]: Start accepts. Automaton has 45 states. Word has length 52 [2018-11-18 23:53:43,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:53:43,458 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states. [2018-11-18 23:53:47,689 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-18 23:53:47,689 INFO L459 AbstractCegarLoop]: Interpolant automaton has 45 states [2018-11-18 23:53:47,690 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2018-11-18 23:53:47,691 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=1867, Unknown=3, NotChecked=0, Total=1980 [2018-11-18 23:53:47,691 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 45 states. [2018-11-18 23:54:10,298 WARN L180 SmtUtils]: Spent 172.00 ms on a formula simplification. DAG size of input: 89 DAG size of output: 65 [2018-11-18 23:54:14,754 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification. DAG size of input: 82 DAG size of output: 53 [2018-11-18 23:54:30,455 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification. DAG size of input: 81 DAG size of output: 81 [2018-11-18 23:54:32,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:32,153 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2018-11-18 23:54:32,153 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-18 23:54:32,153 INFO L78 Accepts]: Start accepts. Automaton has 45 states. Word has length 52 [2018-11-18 23:54:32,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:54:32,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-18 23:54:32,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 72 transitions. [2018-11-18 23:54:32,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-18 23:54:32,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 72 transitions. [2018-11-18 23:54:32,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 72 transitions. [2018-11-18 23:54:36,374 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 70 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-18 23:54:36,377 INFO L225 Difference]: With dead ends: 65 [2018-11-18 23:54:36,377 INFO L226 Difference]: Without dead ends: 63 [2018-11-18 23:54:36,378 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 36 SyntacticMatches, 3 SemanticMatches, 53 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 526 ImplicationChecksByTransitivity, 14.9s TimeCoverageRelationStatistics Valid=169, Invalid=2798, Unknown=3, NotChecked=0, Total=2970 [2018-11-18 23:54:36,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2018-11-18 23:54:36,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 56. [2018-11-18 23:54:36,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:54:36,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 56 states. [2018-11-18 23:54:36,513 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 56 states. [2018-11-18 23:54:36,514 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 56 states. [2018-11-18 23:54:36,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:36,523 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2018-11-18 23:54:36,523 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2018-11-18 23:54:36,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:54:36,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:54:36,524 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 63 states. [2018-11-18 23:54:36,524 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 63 states. [2018-11-18 23:54:36,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:36,528 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2018-11-18 23:54:36,528 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2018-11-18 23:54:36,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:54:36,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:54:36,528 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:54:36,529 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:54:36,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-18 23:54:36,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 62 transitions. [2018-11-18 23:54:36,531 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 62 transitions. Word has length 52 [2018-11-18 23:54:36,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:54:36,532 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 62 transitions. [2018-11-18 23:54:36,532 INFO L481 AbstractCegarLoop]: Interpolant automaton has 45 states. [2018-11-18 23:54:36,532 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 62 transitions. [2018-11-18 23:54:36,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-18 23:54:36,533 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:54:36,533 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:54:36,533 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:54:36,534 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:54:36,534 INFO L82 PathProgramCache]: Analyzing trace with hash 1429776530, now seen corresponding path program 1 times [2018-11-18 23:54:36,534 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:54:36,534 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:54:36,535 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:54:36,535 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:54:36,535 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:54:36,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:54:37,285 WARN L180 SmtUtils]: Spent 213.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 13 [2018-11-18 23:54:38,447 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 44 [2018-11-18 23:54:38,680 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 52 [2018-11-18 23:54:39,047 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 43 [2018-11-18 23:54:39,245 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: select-over-store with same index should have been removed at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:72) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:131) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:154) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker$MyWalker.walk(SubtermPropertyChecker.java:63) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker.isPropertySatisfied(SubtermPropertyChecker.java:121) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.respectsUltimateNormalForm(UltimateNormalFormUtils.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.BasicPredicateFactory.newPredicate(BasicPredicateFactory.java:103) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.constructNewPredicate(PredicateUnifier.java:375) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:361) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.computePredicates(NestedInterpolantsBuilder.java:592) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsTree(InterpolatingTraceCheckCraig.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:207) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:109) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructCraig(TraceCheckConstructor.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:183) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:429) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:312) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:123) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-18 23:54:39,251 INFO L168 Benchmark]: Toolchain (without parser) took 156149.45 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -793.7 MB). Peak memory consumption was 327.7 MB. Max. memory is 7.1 GB. [2018-11-18 23:54:39,252 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-18 23:54:39,252 INFO L168 Benchmark]: CACSL2BoogieTranslator took 679.06 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2018-11-18 23:54:39,253 INFO L168 Benchmark]: Boogie Preprocessor took 183.66 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 714.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -792.3 MB). Peak memory consumption was 16.1 MB. Max. memory is 7.1 GB. [2018-11-18 23:54:39,253 INFO L168 Benchmark]: RCFGBuilder took 1242.20 ms. Allocated memory is still 2.2 GB. Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 63.9 MB). Peak memory consumption was 63.9 MB. Max. memory is 7.1 GB. [2018-11-18 23:54:39,253 INFO L168 Benchmark]: TraceAbstraction took 154039.12 ms. Allocated memory was 2.2 GB in the beginning and 2.6 GB in the end (delta: 407.4 MB). Free memory was 2.1 GB in the beginning and 2.2 GB in the end (delta: -97.1 MB). Peak memory consumption was 310.3 MB. Max. memory is 7.1 GB. [2018-11-18 23:54:39,258 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 679.06 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 183.66 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 714.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -792.3 MB). Peak memory consumption was 16.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1242.20 ms. Allocated memory is still 2.2 GB. Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 63.9 MB). Peak memory consumption was 63.9 MB. Max. memory is 7.1 GB. * TraceAbstraction took 154039.12 ms. Allocated memory was 2.2 GB in the beginning and 2.6 GB in the end (delta: 407.4 MB). Free memory was 2.1 GB in the beginning and 2.2 GB in the end (delta: -97.1 MB). Peak memory consumption was 310.3 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: select-over-store with same index should have been removed de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: select-over-store with same index should have been removed: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:72) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...