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/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_false-unreach-call_false-valid-memcleanup.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:21:17,850 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:21:17,852 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:21:17,865 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:21:17,866 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:21:17,867 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:21:17,868 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:21:17,870 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:21:17,871 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:21:17,872 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:21:17,873 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:21:17,873 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:21:17,874 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:21:17,875 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:21:17,876 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:21:17,877 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:21:17,878 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:21:17,880 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:21:17,882 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:21:17,883 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:21:17,884 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:21:17,886 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:21:17,888 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:21:17,888 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:21:17,889 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:21:17,890 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:21:17,891 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:21:17,891 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:21:17,892 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:21:17,893 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:21:17,894 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:21:17,894 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:21:17,895 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:21:17,895 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:21:17,896 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:21:17,896 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:21:17,897 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 11:21:17,917 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:21:17,917 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:21:17,918 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:21:17,918 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:21:17,919 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:21:17,919 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:21:17,919 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:21:17,919 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:21:17,919 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:21:17,920 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:21:17,920 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:21:17,920 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:21:17,920 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:21:17,920 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:21:17,920 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:21:17,921 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:21:17,921 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:21:17,921 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:21:17,921 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:21:17,921 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:21:17,922 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:21:17,922 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:21:17,922 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:21:17,922 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:21:17,922 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:21:17,923 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:21:17,923 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:21:17,923 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:21:17,923 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:21:17,923 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:21:17,924 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:21:17,924 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:21:17,924 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:21:17,967 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:21:17,982 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:21:17,986 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:21:17,988 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:21:17,989 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:21:17,989 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_false-unreach-call_false-valid-memcleanup.i [2018-11-23 11:21:18,054 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9d8e825f6/c51e1eebaf854bd68802aa231eae3028/FLAGc248d41d0 [2018-11-23 11:21:18,566 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:21:18,567 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_false-unreach-call_false-valid-memcleanup.i [2018-11-23 11:21:18,582 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9d8e825f6/c51e1eebaf854bd68802aa231eae3028/FLAGc248d41d0 [2018-11-23 11:21:18,879 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9d8e825f6/c51e1eebaf854bd68802aa231eae3028 [2018-11-23 11:21:18,889 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:21:18,891 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:21:18,892 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:21:18,892 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:21:18,896 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:21:18,898 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:21:18" (1/1) ... [2018-11-23 11:21:18,901 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@457da6a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:18, skipping insertion in model container [2018-11-23 11:21:18,901 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:21:18" (1/1) ... [2018-11-23 11:21:18,912 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:21:18,977 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:21:19,502 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:21:19,523 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:21:19,622 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:21:19,775 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:21:19,776 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19 WrapperNode [2018-11-23 11:21:19,776 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:21:19,777 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:21:19,777 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:21:19,777 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:21:19,787 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,813 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,823 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:21:19,824 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:21:19,824 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:21:19,824 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:21:19,839 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,839 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,846 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,846 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,873 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,884 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,888 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (1/1) ... [2018-11-23 11:21:19,893 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:21:19,895 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:21:19,895 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:21:19,895 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:21:19,896 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (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-23 11:21:19,955 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:21:19,955 INFO L130 BoogieDeclarations]: Found specification of procedure sll_length [2018-11-23 11:21:19,955 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_length [2018-11-23 11:21:19,955 INFO L130 BoogieDeclarations]: Found specification of procedure sll_hierarchical_destroy [2018-11-23 11:21:19,956 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_hierarchical_destroy [2018-11-23 11:21:19,956 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-23 11:21:19,956 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-23 11:21:19,956 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2018-11-23 11:21:19,956 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2018-11-23 11:21:19,956 INFO L130 BoogieDeclarations]: Found specification of procedure node_create_with_sublist [2018-11-23 11:21:19,957 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create_with_sublist [2018-11-23 11:21:19,957 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:21:19,957 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:21:19,957 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:21:19,957 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:21:19,958 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:21:19,959 INFO L130 BoogieDeclarations]: Found specification of procedure sll_append [2018-11-23 11:21:19,960 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_append [2018-11-23 11:21:19,960 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:21:19,960 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:21:19,960 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2018-11-23 11:21:19,960 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:21:19,960 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:21:21,236 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:21:21,236 INFO L280 CfgBuilder]: Removed 9 assue(true) statements. [2018-11-23 11:21:21,237 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:21:21 BoogieIcfgContainer [2018-11-23 11:21:21,237 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:21:21,238 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:21:21,238 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:21:21,241 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:21:21,241 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:21:18" (1/3) ... [2018-11-23 11:21:21,242 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@283b97bc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:21:21, skipping insertion in model container [2018-11-23 11:21:21,242 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:19" (2/3) ... [2018-11-23 11:21:21,242 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@283b97bc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:21:21, skipping insertion in model container [2018-11-23 11:21:21,243 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:21:21" (3/3) ... [2018-11-23 11:21:21,244 INFO L112 eAbstractionObserver]: Analyzing ICFG sll_of_sll_nondet_append_false-unreach-call_false-valid-memcleanup.i [2018-11-23 11:21:21,254 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:21:21,262 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:21:21,280 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:21:21,309 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:21:21,310 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:21:21,310 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:21:21,310 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:21:21,311 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:21:21,311 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:21:21,311 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:21:21,311 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:21:21,311 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:21:21,330 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states. [2018-11-23 11:21:21,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 11:21:21,338 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:21,339 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:21,341 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:21,346 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:21,347 INFO L82 PathProgramCache]: Analyzing trace with hash 377436705, now seen corresponding path program 1 times [2018-11-23 11:21:21,352 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:21,352 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:21,370 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:21,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:21,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:21,517 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:22,047 INFO L256 TraceCheckUtils]: 0: Hoare triple {71#true} call ULTIMATE.init(); {71#true} is VALID [2018-11-23 11:21:22,053 INFO L273 TraceCheckUtils]: 1: Hoare triple {71#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {71#true} is VALID [2018-11-23 11:21:22,054 INFO L273 TraceCheckUtils]: 2: Hoare triple {71#true} assume true; {71#true} is VALID [2018-11-23 11:21:22,054 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {71#true} {71#true} #205#return; {71#true} is VALID [2018-11-23 11:21:22,055 INFO L256 TraceCheckUtils]: 4: Hoare triple {71#true} call #t~ret25 := main(); {71#true} is VALID [2018-11-23 11:21:22,071 INFO L273 TraceCheckUtils]: 5: Hoare triple {71#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {91#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:22,086 INFO L273 TraceCheckUtils]: 6: Hoare triple {91#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !~bvsle32(~i~0, ~max~0); {72#false} is VALID [2018-11-23 11:21:22,087 INFO L256 TraceCheckUtils]: 7: Hoare triple {72#false} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {72#false} is VALID [2018-11-23 11:21:22,087 INFO L273 TraceCheckUtils]: 8: Hoare triple {72#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {72#false} is VALID [2018-11-23 11:21:22,088 INFO L256 TraceCheckUtils]: 9: Hoare triple {72#false} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {72#false} is VALID [2018-11-23 11:21:22,089 INFO L273 TraceCheckUtils]: 10: Hoare triple {72#false} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {72#false} is VALID [2018-11-23 11:21:22,089 INFO L273 TraceCheckUtils]: 11: Hoare triple {72#false} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {72#false} is VALID [2018-11-23 11:21:22,090 INFO L256 TraceCheckUtils]: 12: Hoare triple {72#false} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {72#false} is VALID [2018-11-23 11:21:22,090 INFO L273 TraceCheckUtils]: 13: Hoare triple {72#false} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {72#false} is VALID [2018-11-23 11:21:22,092 INFO L273 TraceCheckUtils]: 14: Hoare triple {72#false} assume !~bvsgt32(~len, 0bv32); {72#false} is VALID [2018-11-23 11:21:22,092 INFO L273 TraceCheckUtils]: 15: Hoare triple {72#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {72#false} is VALID [2018-11-23 11:21:22,092 INFO L273 TraceCheckUtils]: 16: Hoare triple {72#false} assume true; {72#false} is VALID [2018-11-23 11:21:22,093 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {72#false} {72#false} #211#return; {72#false} is VALID [2018-11-23 11:21:22,093 INFO L273 TraceCheckUtils]: 18: Hoare triple {72#false} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {72#false} is VALID [2018-11-23 11:21:22,094 INFO L273 TraceCheckUtils]: 19: Hoare triple {72#false} assume true; {72#false} is VALID [2018-11-23 11:21:22,095 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {72#false} {72#false} #201#return; {72#false} is VALID [2018-11-23 11:21:22,095 INFO L273 TraceCheckUtils]: 21: Hoare triple {72#false} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {72#false} is VALID [2018-11-23 11:21:22,096 INFO L273 TraceCheckUtils]: 22: Hoare triple {72#false} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {72#false} is VALID [2018-11-23 11:21:22,096 INFO L273 TraceCheckUtils]: 23: Hoare triple {72#false} assume true; {72#false} is VALID [2018-11-23 11:21:22,097 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {72#false} {72#false} #195#return; {72#false} is VALID [2018-11-23 11:21:22,097 INFO L273 TraceCheckUtils]: 25: Hoare triple {72#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {72#false} is VALID [2018-11-23 11:21:22,098 INFO L273 TraceCheckUtils]: 26: Hoare triple {72#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {72#false} is VALID [2018-11-23 11:21:22,098 INFO L273 TraceCheckUtils]: 27: Hoare triple {72#false} assume ~bvsgt32(~i~0, ~max~0); {72#false} is VALID [2018-11-23 11:21:22,098 INFO L273 TraceCheckUtils]: 28: Hoare triple {72#false} assume !false; {72#false} is VALID [2018-11-23 11:21:22,112 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:22,112 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:22,127 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:22,127 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:21:22,137 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 29 [2018-11-23 11:21:22,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:22,146 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:21:22,375 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:22,375 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:21:22,383 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:21:22,384 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:22,387 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 3 states. [2018-11-23 11:21:23,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:23,246 INFO L93 Difference]: Finished difference Result 135 states and 197 transitions. [2018-11-23 11:21:23,246 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:21:23,246 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 29 [2018-11-23 11:21:23,247 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:23,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:23,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 197 transitions. [2018-11-23 11:21:23,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:23,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 197 transitions. [2018-11-23 11:21:23,296 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 197 transitions. [2018-11-23 11:21:23,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:23,766 INFO L225 Difference]: With dead ends: 135 [2018-11-23 11:21:23,766 INFO L226 Difference]: Without dead ends: 56 [2018-11-23 11:21:23,770 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:23,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-23 11:21:24,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 52. [2018-11-23 11:21:24,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:24,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 52 states. [2018-11-23 11:21:24,060 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 52 states. [2018-11-23 11:21:24,060 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 52 states. [2018-11-23 11:21:24,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:24,067 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2018-11-23 11:21:24,068 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2018-11-23 11:21:24,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:24,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:24,069 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 56 states. [2018-11-23 11:21:24,070 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 56 states. [2018-11-23 11:21:24,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:24,076 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2018-11-23 11:21:24,076 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2018-11-23 11:21:24,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:24,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:24,077 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:24,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:24,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 11:21:24,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2018-11-23 11:21:24,084 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 29 [2018-11-23 11:21:24,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:24,085 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2018-11-23 11:21:24,085 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:21:24,085 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-23 11:21:24,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 11:21:24,087 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:24,088 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:24,088 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:24,088 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:24,089 INFO L82 PathProgramCache]: Analyzing trace with hash -1949632458, now seen corresponding path program 1 times [2018-11-23 11:21:24,089 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:24,090 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:24,106 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:24,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:24,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:24,214 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:24,361 INFO L256 TraceCheckUtils]: 0: Hoare triple {538#true} call ULTIMATE.init(); {538#true} is VALID [2018-11-23 11:21:24,362 INFO L273 TraceCheckUtils]: 1: Hoare triple {538#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {538#true} is VALID [2018-11-23 11:21:24,362 INFO L273 TraceCheckUtils]: 2: Hoare triple {538#true} assume true; {538#true} is VALID [2018-11-23 11:21:24,362 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {538#true} {538#true} #205#return; {538#true} is VALID [2018-11-23 11:21:24,362 INFO L256 TraceCheckUtils]: 4: Hoare triple {538#true} call #t~ret25 := main(); {538#true} is VALID [2018-11-23 11:21:24,363 INFO L273 TraceCheckUtils]: 5: Hoare triple {538#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {558#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:24,364 INFO L273 TraceCheckUtils]: 6: Hoare triple {558#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {558#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:24,365 INFO L273 TraceCheckUtils]: 7: Hoare triple {558#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {558#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:24,366 INFO L273 TraceCheckUtils]: 8: Hoare triple {558#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {568#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 11:21:24,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {568#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} assume !~bvsle32(~i~0, ~max~0); {539#false} is VALID [2018-11-23 11:21:24,368 INFO L256 TraceCheckUtils]: 10: Hoare triple {539#false} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {539#false} is VALID [2018-11-23 11:21:24,369 INFO L273 TraceCheckUtils]: 11: Hoare triple {539#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {539#false} is VALID [2018-11-23 11:21:24,369 INFO L256 TraceCheckUtils]: 12: Hoare triple {539#false} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {539#false} is VALID [2018-11-23 11:21:24,370 INFO L273 TraceCheckUtils]: 13: Hoare triple {539#false} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {539#false} is VALID [2018-11-23 11:21:24,370 INFO L273 TraceCheckUtils]: 14: Hoare triple {539#false} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {539#false} is VALID [2018-11-23 11:21:24,371 INFO L256 TraceCheckUtils]: 15: Hoare triple {539#false} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {539#false} is VALID [2018-11-23 11:21:24,371 INFO L273 TraceCheckUtils]: 16: Hoare triple {539#false} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {539#false} is VALID [2018-11-23 11:21:24,372 INFO L273 TraceCheckUtils]: 17: Hoare triple {539#false} assume !~bvsgt32(~len, 0bv32); {539#false} is VALID [2018-11-23 11:21:24,372 INFO L273 TraceCheckUtils]: 18: Hoare triple {539#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {539#false} is VALID [2018-11-23 11:21:24,373 INFO L273 TraceCheckUtils]: 19: Hoare triple {539#false} assume true; {539#false} is VALID [2018-11-23 11:21:24,373 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {539#false} {539#false} #211#return; {539#false} is VALID [2018-11-23 11:21:24,373 INFO L273 TraceCheckUtils]: 21: Hoare triple {539#false} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {539#false} is VALID [2018-11-23 11:21:24,374 INFO L273 TraceCheckUtils]: 22: Hoare triple {539#false} assume true; {539#false} is VALID [2018-11-23 11:21:24,374 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {539#false} {539#false} #201#return; {539#false} is VALID [2018-11-23 11:21:24,374 INFO L273 TraceCheckUtils]: 24: Hoare triple {539#false} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {539#false} is VALID [2018-11-23 11:21:24,375 INFO L273 TraceCheckUtils]: 25: Hoare triple {539#false} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {539#false} is VALID [2018-11-23 11:21:24,375 INFO L273 TraceCheckUtils]: 26: Hoare triple {539#false} assume true; {539#false} is VALID [2018-11-23 11:21:24,375 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {539#false} {539#false} #195#return; {539#false} is VALID [2018-11-23 11:21:24,376 INFO L273 TraceCheckUtils]: 28: Hoare triple {539#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {539#false} is VALID [2018-11-23 11:21:24,376 INFO L273 TraceCheckUtils]: 29: Hoare triple {539#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {539#false} is VALID [2018-11-23 11:21:24,376 INFO L273 TraceCheckUtils]: 30: Hoare triple {539#false} assume ~bvsgt32(~i~0, ~max~0); {539#false} is VALID [2018-11-23 11:21:24,377 INFO L273 TraceCheckUtils]: 31: Hoare triple {539#false} assume !false; {539#false} is VALID [2018-11-23 11:21:24,380 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:24,380 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:24,626 INFO L273 TraceCheckUtils]: 31: Hoare triple {539#false} assume !false; {539#false} is VALID [2018-11-23 11:21:24,627 INFO L273 TraceCheckUtils]: 30: Hoare triple {539#false} assume ~bvsgt32(~i~0, ~max~0); {539#false} is VALID [2018-11-23 11:21:24,627 INFO L273 TraceCheckUtils]: 29: Hoare triple {539#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {539#false} is VALID [2018-11-23 11:21:24,627 INFO L273 TraceCheckUtils]: 28: Hoare triple {539#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {539#false} is VALID [2018-11-23 11:21:24,628 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {538#true} {539#false} #195#return; {539#false} is VALID [2018-11-23 11:21:24,628 INFO L273 TraceCheckUtils]: 26: Hoare triple {538#true} assume true; {538#true} is VALID [2018-11-23 11:21:24,628 INFO L273 TraceCheckUtils]: 25: Hoare triple {538#true} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {538#true} is VALID [2018-11-23 11:21:24,629 INFO L273 TraceCheckUtils]: 24: Hoare triple {538#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {538#true} is VALID [2018-11-23 11:21:24,629 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {538#true} {538#true} #201#return; {538#true} is VALID [2018-11-23 11:21:24,629 INFO L273 TraceCheckUtils]: 22: Hoare triple {538#true} assume true; {538#true} is VALID [2018-11-23 11:21:24,630 INFO L273 TraceCheckUtils]: 21: Hoare triple {538#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {538#true} is VALID [2018-11-23 11:21:24,630 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {538#true} {538#true} #211#return; {538#true} is VALID [2018-11-23 11:21:24,630 INFO L273 TraceCheckUtils]: 19: Hoare triple {538#true} assume true; {538#true} is VALID [2018-11-23 11:21:24,631 INFO L273 TraceCheckUtils]: 18: Hoare triple {538#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {538#true} is VALID [2018-11-23 11:21:24,631 INFO L273 TraceCheckUtils]: 17: Hoare triple {538#true} assume !~bvsgt32(~len, 0bv32); {538#true} is VALID [2018-11-23 11:21:24,631 INFO L273 TraceCheckUtils]: 16: Hoare triple {538#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {538#true} is VALID [2018-11-23 11:21:24,632 INFO L256 TraceCheckUtils]: 15: Hoare triple {538#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {538#true} is VALID [2018-11-23 11:21:24,632 INFO L273 TraceCheckUtils]: 14: Hoare triple {538#true} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {538#true} is VALID [2018-11-23 11:21:24,632 INFO L273 TraceCheckUtils]: 13: Hoare triple {538#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {538#true} is VALID [2018-11-23 11:21:24,633 INFO L256 TraceCheckUtils]: 12: Hoare triple {538#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {538#true} is VALID [2018-11-23 11:21:24,633 INFO L273 TraceCheckUtils]: 11: Hoare triple {538#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {538#true} is VALID [2018-11-23 11:21:24,633 INFO L256 TraceCheckUtils]: 10: Hoare triple {539#false} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {538#true} is VALID [2018-11-23 11:21:24,637 INFO L273 TraceCheckUtils]: 9: Hoare triple {704#(bvsle main_~i~0 main_~max~0)} assume !~bvsle32(~i~0, ~max~0); {539#false} is VALID [2018-11-23 11:21:24,639 INFO L273 TraceCheckUtils]: 8: Hoare triple {708#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {704#(bvsle main_~i~0 main_~max~0)} is VALID [2018-11-23 11:21:24,641 INFO L273 TraceCheckUtils]: 7: Hoare triple {708#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {708#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} is VALID [2018-11-23 11:21:24,642 INFO L273 TraceCheckUtils]: 6: Hoare triple {708#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {708#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} is VALID [2018-11-23 11:21:24,645 INFO L273 TraceCheckUtils]: 5: Hoare triple {538#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {708#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} is VALID [2018-11-23 11:21:24,646 INFO L256 TraceCheckUtils]: 4: Hoare triple {538#true} call #t~ret25 := main(); {538#true} is VALID [2018-11-23 11:21:24,646 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {538#true} {538#true} #205#return; {538#true} is VALID [2018-11-23 11:21:24,647 INFO L273 TraceCheckUtils]: 2: Hoare triple {538#true} assume true; {538#true} is VALID [2018-11-23 11:21:24,647 INFO L273 TraceCheckUtils]: 1: Hoare triple {538#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {538#true} is VALID [2018-11-23 11:21:24,647 INFO L256 TraceCheckUtils]: 0: Hoare triple {538#true} call ULTIMATE.init(); {538#true} is VALID [2018-11-23 11:21:24,649 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:24,651 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:24,652 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 11:21:24,654 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 32 [2018-11-23 11:21:24,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:24,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:21:24,806 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:24,807 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:21:24,807 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:21:24,807 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:21:24,808 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand 6 states. [2018-11-23 11:21:25,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:25,710 INFO L93 Difference]: Finished difference Result 108 states and 133 transitions. [2018-11-23 11:21:25,710 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:21:25,710 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 32 [2018-11-23 11:21:25,711 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:25,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:21:25,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 133 transitions. [2018-11-23 11:21:25,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:21:25,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 133 transitions. [2018-11-23 11:21:25,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 133 transitions. [2018-11-23 11:21:26,050 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:26,054 INFO L225 Difference]: With dead ends: 108 [2018-11-23 11:21:26,054 INFO L226 Difference]: Without dead ends: 68 [2018-11-23 11:21:26,055 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:21:26,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-23 11:21:26,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 65. [2018-11-23 11:21:26,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:26,109 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 65 states. [2018-11-23 11:21:26,109 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 65 states. [2018-11-23 11:21:26,110 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 65 states. [2018-11-23 11:21:26,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:26,116 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2018-11-23 11:21:26,116 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2018-11-23 11:21:26,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:26,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:26,117 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 68 states. [2018-11-23 11:21:26,117 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 68 states. [2018-11-23 11:21:26,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:26,122 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2018-11-23 11:21:26,122 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2018-11-23 11:21:26,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:26,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:26,124 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:26,124 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:26,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 11:21:26,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 80 transitions. [2018-11-23 11:21:26,128 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 80 transitions. Word has length 32 [2018-11-23 11:21:26,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:26,129 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 80 transitions. [2018-11-23 11:21:26,129 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:21:26,129 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2018-11-23 11:21:26,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 11:21:26,130 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:26,131 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 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-23 11:21:26,131 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:26,131 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:26,132 INFO L82 PathProgramCache]: Analyzing trace with hash -1393549226, now seen corresponding path program 2 times [2018-11-23 11:21:26,132 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:26,132 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:26,160 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:21:26,220 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 11:21:26,220 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:21:26,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:26,256 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:26,436 INFO L256 TraceCheckUtils]: 0: Hoare triple {1119#true} call ULTIMATE.init(); {1119#true} is VALID [2018-11-23 11:21:26,436 INFO L273 TraceCheckUtils]: 1: Hoare triple {1119#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1119#true} is VALID [2018-11-23 11:21:26,437 INFO L273 TraceCheckUtils]: 2: Hoare triple {1119#true} assume true; {1119#true} is VALID [2018-11-23 11:21:26,437 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1119#true} {1119#true} #205#return; {1119#true} is VALID [2018-11-23 11:21:26,437 INFO L256 TraceCheckUtils]: 4: Hoare triple {1119#true} call #t~ret25 := main(); {1119#true} is VALID [2018-11-23 11:21:26,438 INFO L273 TraceCheckUtils]: 5: Hoare triple {1119#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,439 INFO L273 TraceCheckUtils]: 6: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,441 INFO L273 TraceCheckUtils]: 7: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,441 INFO L273 TraceCheckUtils]: 8: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,443 INFO L273 TraceCheckUtils]: 9: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,443 INFO L273 TraceCheckUtils]: 10: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,448 INFO L273 TraceCheckUtils]: 11: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,450 INFO L273 TraceCheckUtils]: 12: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,450 INFO L273 TraceCheckUtils]: 13: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,451 INFO L273 TraceCheckUtils]: 14: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,451 INFO L273 TraceCheckUtils]: 15: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsle32(~i~0, ~max~0); {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:26,452 INFO L256 TraceCheckUtils]: 16: Hoare triple {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {1119#true} is VALID [2018-11-23 11:21:26,453 INFO L273 TraceCheckUtils]: 17: Hoare triple {1119#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {1176#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 11:21:26,453 INFO L256 TraceCheckUtils]: 18: Hoare triple {1176#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {1119#true} is VALID [2018-11-23 11:21:26,455 INFO L273 TraceCheckUtils]: 19: Hoare triple {1119#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {1183#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:26,457 INFO L273 TraceCheckUtils]: 20: Hoare triple {1183#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {1183#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:26,457 INFO L256 TraceCheckUtils]: 21: Hoare triple {1183#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {1119#true} is VALID [2018-11-23 11:21:26,459 INFO L273 TraceCheckUtils]: 22: Hoare triple {1119#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1193#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:26,460 INFO L273 TraceCheckUtils]: 23: Hoare triple {1193#(= |sll_create_#in~len| sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {1197#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,461 INFO L273 TraceCheckUtils]: 24: Hoare triple {1197#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1197#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,461 INFO L273 TraceCheckUtils]: 25: Hoare triple {1197#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} assume true; {1197#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,465 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1197#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} {1183#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #211#return; {1207#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,467 INFO L273 TraceCheckUtils]: 27: Hoare triple {1207#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {1207#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,484 INFO L273 TraceCheckUtils]: 28: Hoare triple {1207#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} assume true; {1207#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,486 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1207#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} {1176#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #201#return; {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,487 INFO L273 TraceCheckUtils]: 30: Hoare triple {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,491 INFO L273 TraceCheckUtils]: 31: Hoare triple {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,491 INFO L273 TraceCheckUtils]: 32: Hoare triple {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume true; {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:26,501 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1217#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} {1139#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #195#return; {1120#false} is VALID [2018-11-23 11:21:26,501 INFO L273 TraceCheckUtils]: 34: Hoare triple {1120#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {1120#false} is VALID [2018-11-23 11:21:26,501 INFO L273 TraceCheckUtils]: 35: Hoare triple {1120#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {1120#false} is VALID [2018-11-23 11:21:26,502 INFO L273 TraceCheckUtils]: 36: Hoare triple {1120#false} assume ~bvsgt32(~i~0, ~max~0); {1120#false} is VALID [2018-11-23 11:21:26,502 INFO L273 TraceCheckUtils]: 37: Hoare triple {1120#false} assume !false; {1120#false} is VALID [2018-11-23 11:21:26,506 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:26,506 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:26,509 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:26,509 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 11:21:26,510 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2018-11-23 11:21:26,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:26,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 11:21:26,599 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-23 11:21:26,599 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 11:21:26,599 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 11:21:26,600 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:21:26,600 INFO L87 Difference]: Start difference. First operand 65 states and 80 transitions. Second operand 9 states. [2018-11-23 11:21:27,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:27,994 INFO L93 Difference]: Finished difference Result 101 states and 127 transitions. [2018-11-23 11:21:27,994 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 11:21:27,995 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2018-11-23 11:21:27,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:27,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:21:27,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 104 transitions. [2018-11-23 11:21:27,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:21:28,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 104 transitions. [2018-11-23 11:21:28,002 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 104 transitions. [2018-11-23 11:21:28,146 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:28,152 INFO L225 Difference]: With dead ends: 101 [2018-11-23 11:21:28,153 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 11:21:28,153 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2018-11-23 11:21:28,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 11:21:28,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2018-11-23 11:21:28,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:28,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 79 states. [2018-11-23 11:21:28,285 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 79 states. [2018-11-23 11:21:28,285 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 79 states. [2018-11-23 11:21:28,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:28,292 INFO L93 Difference]: Finished difference Result 81 states and 101 transitions. [2018-11-23 11:21:28,292 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 101 transitions. [2018-11-23 11:21:28,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:28,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:28,294 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 81 states. [2018-11-23 11:21:28,294 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 81 states. [2018-11-23 11:21:28,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:28,299 INFO L93 Difference]: Finished difference Result 81 states and 101 transitions. [2018-11-23 11:21:28,300 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 101 transitions. [2018-11-23 11:21:28,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:28,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:28,301 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:28,301 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:28,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-23 11:21:28,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 99 transitions. [2018-11-23 11:21:28,312 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 99 transitions. Word has length 38 [2018-11-23 11:21:28,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:28,312 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 99 transitions. [2018-11-23 11:21:28,312 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 11:21:28,312 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 99 transitions. [2018-11-23 11:21:28,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-23 11:21:28,318 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:28,318 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 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-23 11:21:28,319 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:28,319 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:28,319 INFO L82 PathProgramCache]: Analyzing trace with hash -851724084, now seen corresponding path program 1 times [2018-11-23 11:21:28,323 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:28,323 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:28,351 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:21:28,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:28,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:28,473 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:28,918 INFO L256 TraceCheckUtils]: 0: Hoare triple {1658#true} call ULTIMATE.init(); {1658#true} is VALID [2018-11-23 11:21:28,918 INFO L273 TraceCheckUtils]: 1: Hoare triple {1658#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1658#true} is VALID [2018-11-23 11:21:28,919 INFO L273 TraceCheckUtils]: 2: Hoare triple {1658#true} assume true; {1658#true} is VALID [2018-11-23 11:21:28,919 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1658#true} {1658#true} #205#return; {1658#true} is VALID [2018-11-23 11:21:28,919 INFO L256 TraceCheckUtils]: 4: Hoare triple {1658#true} call #t~ret25 := main(); {1658#true} is VALID [2018-11-23 11:21:28,921 INFO L273 TraceCheckUtils]: 5: Hoare triple {1658#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,930 INFO L273 TraceCheckUtils]: 6: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,931 INFO L273 TraceCheckUtils]: 7: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,935 INFO L273 TraceCheckUtils]: 8: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,935 INFO L273 TraceCheckUtils]: 9: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,936 INFO L273 TraceCheckUtils]: 10: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,936 INFO L273 TraceCheckUtils]: 11: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,937 INFO L273 TraceCheckUtils]: 12: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,937 INFO L273 TraceCheckUtils]: 13: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,937 INFO L273 TraceCheckUtils]: 14: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,938 INFO L273 TraceCheckUtils]: 15: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsle32(~i~0, ~max~0); {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:28,938 INFO L256 TraceCheckUtils]: 16: Hoare triple {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {1658#true} is VALID [2018-11-23 11:21:28,939 INFO L273 TraceCheckUtils]: 17: Hoare triple {1658#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {1715#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 11:21:28,939 INFO L256 TraceCheckUtils]: 18: Hoare triple {1715#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {1658#true} is VALID [2018-11-23 11:21:28,940 INFO L273 TraceCheckUtils]: 19: Hoare triple {1658#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {1722#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:28,941 INFO L273 TraceCheckUtils]: 20: Hoare triple {1722#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {1722#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:28,942 INFO L256 TraceCheckUtils]: 21: Hoare triple {1722#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {1658#true} is VALID [2018-11-23 11:21:28,942 INFO L273 TraceCheckUtils]: 22: Hoare triple {1658#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1732#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:28,943 INFO L273 TraceCheckUtils]: 23: Hoare triple {1732#(= |sll_create_#in~len| sll_create_~len)} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1732#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:28,944 INFO L273 TraceCheckUtils]: 24: Hoare triple {1732#(= |sll_create_#in~len| sll_create_~len)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {1732#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:28,945 INFO L273 TraceCheckUtils]: 25: Hoare triple {1732#(= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1742#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} is VALID [2018-11-23 11:21:28,950 INFO L273 TraceCheckUtils]: 26: Hoare triple {1742#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,952 INFO L273 TraceCheckUtils]: 27: Hoare triple {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,953 INFO L273 TraceCheckUtils]: 28: Hoare triple {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,954 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} {1722#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #211#return; {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,954 INFO L273 TraceCheckUtils]: 30: Hoare triple {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,955 INFO L273 TraceCheckUtils]: 31: Hoare triple {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,957 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {1715#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #201#return; {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,958 INFO L273 TraceCheckUtils]: 33: Hoare triple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,959 INFO L273 TraceCheckUtils]: 34: Hoare triple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,960 INFO L273 TraceCheckUtils]: 35: Hoare triple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:28,961 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {1678#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #195#return; {1659#false} is VALID [2018-11-23 11:21:28,961 INFO L273 TraceCheckUtils]: 37: Hoare triple {1659#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {1659#false} is VALID [2018-11-23 11:21:28,961 INFO L273 TraceCheckUtils]: 38: Hoare triple {1659#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {1659#false} is VALID [2018-11-23 11:21:28,962 INFO L273 TraceCheckUtils]: 39: Hoare triple {1659#false} assume ~bvsgt32(~i~0, ~max~0); {1659#false} is VALID [2018-11-23 11:21:28,962 INFO L273 TraceCheckUtils]: 40: Hoare triple {1659#false} assume !false; {1659#false} is VALID [2018-11-23 11:21:28,967 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:28,967 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:30,101 INFO L273 TraceCheckUtils]: 40: Hoare triple {1659#false} assume !false; {1659#false} is VALID [2018-11-23 11:21:30,101 INFO L273 TraceCheckUtils]: 39: Hoare triple {1659#false} assume ~bvsgt32(~i~0, ~max~0); {1659#false} is VALID [2018-11-23 11:21:30,101 INFO L273 TraceCheckUtils]: 38: Hoare triple {1659#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {1659#false} is VALID [2018-11-23 11:21:30,102 INFO L273 TraceCheckUtils]: 37: Hoare triple {1659#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {1659#false} is VALID [2018-11-23 11:21:30,104 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} #195#return; {1659#false} is VALID [2018-11-23 11:21:30,105 INFO L273 TraceCheckUtils]: 35: Hoare triple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,105 INFO L273 TraceCheckUtils]: 34: Hoare triple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,107 INFO L273 TraceCheckUtils]: 33: Hoare triple {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,109 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {1819#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))))} #201#return; {1766#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,109 INFO L273 TraceCheckUtils]: 31: Hoare triple {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,111 INFO L273 TraceCheckUtils]: 30: Hoare triple {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,114 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} {1832#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} #211#return; {1756#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,116 INFO L273 TraceCheckUtils]: 28: Hoare triple {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,116 INFO L273 TraceCheckUtils]: 27: Hoare triple {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,118 INFO L273 TraceCheckUtils]: 26: Hoare triple {1845#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} assume !~bvsgt32(~len, 0bv32); {1746#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,124 INFO L273 TraceCheckUtils]: 25: Hoare triple {1849#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1845#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} is VALID [2018-11-23 11:21:30,125 INFO L273 TraceCheckUtils]: 24: Hoare triple {1849#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {1849#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,128 INFO L273 TraceCheckUtils]: 23: Hoare triple {1849#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1849#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,128 INFO L273 TraceCheckUtils]: 22: Hoare triple {1658#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1849#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,129 INFO L256 TraceCheckUtils]: 21: Hoare triple {1832#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {1658#true} is VALID [2018-11-23 11:21:30,130 INFO L273 TraceCheckUtils]: 20: Hoare triple {1832#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {1832#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,146 INFO L273 TraceCheckUtils]: 19: Hoare triple {1658#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {1832#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:30,146 INFO L256 TraceCheckUtils]: 18: Hoare triple {1819#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {1658#true} is VALID [2018-11-23 11:21:30,148 INFO L273 TraceCheckUtils]: 17: Hoare triple {1658#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {1819#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:30,148 INFO L256 TraceCheckUtils]: 16: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {1658#true} is VALID [2018-11-23 11:21:30,150 INFO L273 TraceCheckUtils]: 15: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsle32(~i~0, ~max~0); {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,152 INFO L273 TraceCheckUtils]: 14: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,152 INFO L273 TraceCheckUtils]: 13: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,154 INFO L273 TraceCheckUtils]: 12: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,161 INFO L273 TraceCheckUtils]: 11: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,161 INFO L273 TraceCheckUtils]: 10: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,168 INFO L273 TraceCheckUtils]: 9: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,169 INFO L273 TraceCheckUtils]: 8: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,169 INFO L273 TraceCheckUtils]: 7: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,170 INFO L273 TraceCheckUtils]: 6: Hoare triple {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,170 INFO L273 TraceCheckUtils]: 5: Hoare triple {1658#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {1803#(bvsgt (bvadd main_~min~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:30,171 INFO L256 TraceCheckUtils]: 4: Hoare triple {1658#true} call #t~ret25 := main(); {1658#true} is VALID [2018-11-23 11:21:30,171 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1658#true} {1658#true} #205#return; {1658#true} is VALID [2018-11-23 11:21:30,171 INFO L273 TraceCheckUtils]: 2: Hoare triple {1658#true} assume true; {1658#true} is VALID [2018-11-23 11:21:30,171 INFO L273 TraceCheckUtils]: 1: Hoare triple {1658#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1658#true} is VALID [2018-11-23 11:21:30,171 INFO L256 TraceCheckUtils]: 0: Hoare triple {1658#true} call ULTIMATE.init(); {1658#true} is VALID [2018-11-23 11:21:30,174 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:30,176 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:30,177 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2018-11-23 11:21:30,178 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 41 [2018-11-23 11:21:30,180 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:30,180 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 11:21:30,477 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:30,477 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 11:21:30,477 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 11:21:30,478 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2018-11-23 11:21:30,478 INFO L87 Difference]: Start difference. First operand 79 states and 99 transitions. Second operand 15 states. [2018-11-23 11:21:33,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:33,823 INFO L93 Difference]: Finished difference Result 117 states and 148 transitions. [2018-11-23 11:21:33,823 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 11:21:33,824 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 41 [2018-11-23 11:21:33,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:33,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:21:33,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 111 transitions. [2018-11-23 11:21:33,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:21:33,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 111 transitions. [2018-11-23 11:21:33,831 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 111 transitions. [2018-11-23 11:21:34,036 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:34,041 INFO L225 Difference]: With dead ends: 117 [2018-11-23 11:21:34,041 INFO L226 Difference]: Without dead ends: 97 [2018-11-23 11:21:34,042 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=57, Invalid=285, Unknown=0, NotChecked=0, Total=342 [2018-11-23 11:21:34,042 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-23 11:21:34,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 82. [2018-11-23 11:21:34,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:34,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand 82 states. [2018-11-23 11:21:34,102 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 82 states. [2018-11-23 11:21:34,102 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 82 states. [2018-11-23 11:21:34,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:34,108 INFO L93 Difference]: Finished difference Result 97 states and 122 transitions. [2018-11-23 11:21:34,108 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 122 transitions. [2018-11-23 11:21:34,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:34,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:34,110 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 97 states. [2018-11-23 11:21:34,110 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 97 states. [2018-11-23 11:21:34,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:34,115 INFO L93 Difference]: Finished difference Result 97 states and 122 transitions. [2018-11-23 11:21:34,115 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 122 transitions. [2018-11-23 11:21:34,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:34,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:34,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:34,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:34,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 11:21:34,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 103 transitions. [2018-11-23 11:21:34,120 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 103 transitions. Word has length 41 [2018-11-23 11:21:34,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:34,120 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 103 transitions. [2018-11-23 11:21:34,121 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 11:21:34,121 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 103 transitions. [2018-11-23 11:21:34,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 11:21:34,122 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:34,122 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 11:21:34,122 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:34,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:34,123 INFO L82 PathProgramCache]: Analyzing trace with hash 173982870, now seen corresponding path program 2 times [2018-11-23 11:21:34,123 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:34,123 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:34,149 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:21:34,212 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 11:21:34,213 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:21:34,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:34,249 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:34,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {2391#true} call ULTIMATE.init(); {2391#true} is VALID [2018-11-23 11:21:34,509 INFO L273 TraceCheckUtils]: 1: Hoare triple {2391#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2391#true} is VALID [2018-11-23 11:21:34,509 INFO L273 TraceCheckUtils]: 2: Hoare triple {2391#true} assume true; {2391#true} is VALID [2018-11-23 11:21:34,509 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2391#true} {2391#true} #205#return; {2391#true} is VALID [2018-11-23 11:21:34,509 INFO L256 TraceCheckUtils]: 4: Hoare triple {2391#true} call #t~ret25 := main(); {2391#true} is VALID [2018-11-23 11:21:34,510 INFO L273 TraceCheckUtils]: 5: Hoare triple {2391#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,511 INFO L273 TraceCheckUtils]: 6: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,511 INFO L273 TraceCheckUtils]: 7: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,512 INFO L273 TraceCheckUtils]: 8: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,512 INFO L273 TraceCheckUtils]: 9: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,514 INFO L273 TraceCheckUtils]: 10: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,515 INFO L273 TraceCheckUtils]: 11: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,515 INFO L273 TraceCheckUtils]: 12: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,516 INFO L273 TraceCheckUtils]: 13: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,516 INFO L273 TraceCheckUtils]: 14: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,518 INFO L273 TraceCheckUtils]: 15: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !~bvsle32(~i~0, ~max~0); {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,518 INFO L256 TraceCheckUtils]: 16: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {2391#true} is VALID [2018-11-23 11:21:34,518 INFO L273 TraceCheckUtils]: 17: Hoare triple {2391#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {2391#true} is VALID [2018-11-23 11:21:34,520 INFO L256 TraceCheckUtils]: 18: Hoare triple {2391#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {2391#true} is VALID [2018-11-23 11:21:34,520 INFO L273 TraceCheckUtils]: 19: Hoare triple {2391#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {2391#true} is VALID [2018-11-23 11:21:34,520 INFO L273 TraceCheckUtils]: 20: Hoare triple {2391#true} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {2391#true} is VALID [2018-11-23 11:21:34,520 INFO L256 TraceCheckUtils]: 21: Hoare triple {2391#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {2391#true} is VALID [2018-11-23 11:21:34,520 INFO L273 TraceCheckUtils]: 22: Hoare triple {2391#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2391#true} is VALID [2018-11-23 11:21:34,521 INFO L273 TraceCheckUtils]: 23: Hoare triple {2391#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2391#true} is VALID [2018-11-23 11:21:34,521 INFO L273 TraceCheckUtils]: 24: Hoare triple {2391#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2391#true} is VALID [2018-11-23 11:21:34,521 INFO L273 TraceCheckUtils]: 25: Hoare triple {2391#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2391#true} is VALID [2018-11-23 11:21:34,521 INFO L273 TraceCheckUtils]: 26: Hoare triple {2391#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2391#true} is VALID [2018-11-23 11:21:34,521 INFO L273 TraceCheckUtils]: 27: Hoare triple {2391#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2391#true} is VALID [2018-11-23 11:21:34,522 INFO L273 TraceCheckUtils]: 28: Hoare triple {2391#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2391#true} is VALID [2018-11-23 11:21:34,522 INFO L273 TraceCheckUtils]: 29: Hoare triple {2391#true} assume !~bvsgt32(~len, 0bv32); {2391#true} is VALID [2018-11-23 11:21:34,522 INFO L273 TraceCheckUtils]: 30: Hoare triple {2391#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2391#true} is VALID [2018-11-23 11:21:34,522 INFO L273 TraceCheckUtils]: 31: Hoare triple {2391#true} assume true; {2391#true} is VALID [2018-11-23 11:21:34,522 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2391#true} {2391#true} #211#return; {2391#true} is VALID [2018-11-23 11:21:34,522 INFO L273 TraceCheckUtils]: 33: Hoare triple {2391#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {2391#true} is VALID [2018-11-23 11:21:34,523 INFO L273 TraceCheckUtils]: 34: Hoare triple {2391#true} assume true; {2391#true} is VALID [2018-11-23 11:21:34,523 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {2391#true} {2391#true} #201#return; {2391#true} is VALID [2018-11-23 11:21:34,523 INFO L273 TraceCheckUtils]: 36: Hoare triple {2391#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2391#true} is VALID [2018-11-23 11:21:34,523 INFO L273 TraceCheckUtils]: 37: Hoare triple {2391#true} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {2391#true} is VALID [2018-11-23 11:21:34,523 INFO L273 TraceCheckUtils]: 38: Hoare triple {2391#true} assume true; {2391#true} is VALID [2018-11-23 11:21:34,525 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2391#true} {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #195#return; {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,526 INFO L273 TraceCheckUtils]: 40: Hoare triple {2411#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {2517#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,528 INFO L273 TraceCheckUtils]: 41: Hoare triple {2517#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {2517#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:34,531 INFO L273 TraceCheckUtils]: 42: Hoare triple {2517#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume ~bvsgt32(~i~0, ~max~0); {2392#false} is VALID [2018-11-23 11:21:34,532 INFO L273 TraceCheckUtils]: 43: Hoare triple {2392#false} assume !false; {2392#false} is VALID [2018-11-23 11:21:34,535 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 11:21:34,535 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (6)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 11:21:34,538 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:34,538 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:21:34,539 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 44 [2018-11-23 11:21:34,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:34,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:21:34,622 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:34,622 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:21:34,623 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:21:34,623 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:21:34,623 INFO L87 Difference]: Start difference. First operand 82 states and 103 transitions. Second operand 4 states. [2018-11-23 11:21:35,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:35,087 INFO L93 Difference]: Finished difference Result 96 states and 121 transitions. [2018-11-23 11:21:35,087 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:21:35,087 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 44 [2018-11-23 11:21:35,088 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:35,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:21:35,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 86 transitions. [2018-11-23 11:21:35,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:21:35,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 86 transitions. [2018-11-23 11:21:35,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 86 transitions. [2018-11-23 11:21:35,261 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-23 11:21:35,264 INFO L225 Difference]: With dead ends: 96 [2018-11-23 11:21:35,264 INFO L226 Difference]: Without dead ends: 94 [2018-11-23 11:21:35,265 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:21:35,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-23 11:21:35,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 82. [2018-11-23 11:21:35,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:35,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 82 states. [2018-11-23 11:21:35,372 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 82 states. [2018-11-23 11:21:35,372 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 82 states. [2018-11-23 11:21:35,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:35,376 INFO L93 Difference]: Finished difference Result 94 states and 119 transitions. [2018-11-23 11:21:35,376 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 119 transitions. [2018-11-23 11:21:35,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:35,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:35,377 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 94 states. [2018-11-23 11:21:35,377 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 94 states. [2018-11-23 11:21:35,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:35,381 INFO L93 Difference]: Finished difference Result 94 states and 119 transitions. [2018-11-23 11:21:35,381 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 119 transitions. [2018-11-23 11:21:35,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:35,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:35,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:35,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:35,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 11:21:35,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 103 transitions. [2018-11-23 11:21:35,385 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 103 transitions. Word has length 44 [2018-11-23 11:21:35,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:35,386 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 103 transitions. [2018-11-23 11:21:35,386 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:21:35,386 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 103 transitions. [2018-11-23 11:21:35,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 11:21:35,387 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:35,387 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 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, 1, 1] [2018-11-23 11:21:35,387 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:35,387 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:35,387 INFO L82 PathProgramCache]: Analyzing trace with hash 2138351897, now seen corresponding path program 1 times [2018-11-23 11:21:35,388 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:35,388 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:35,405 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:21:35,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:35,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:35,497 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:35,697 INFO L256 TraceCheckUtils]: 0: Hoare triple {2963#true} call ULTIMATE.init(); {2963#true} is VALID [2018-11-23 11:21:35,698 INFO L273 TraceCheckUtils]: 1: Hoare triple {2963#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2963#true} is VALID [2018-11-23 11:21:35,698 INFO L273 TraceCheckUtils]: 2: Hoare triple {2963#true} assume true; {2963#true} is VALID [2018-11-23 11:21:35,698 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2963#true} {2963#true} #205#return; {2963#true} is VALID [2018-11-23 11:21:35,698 INFO L256 TraceCheckUtils]: 4: Hoare triple {2963#true} call #t~ret25 := main(); {2963#true} is VALID [2018-11-23 11:21:35,698 INFO L273 TraceCheckUtils]: 5: Hoare triple {2963#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 6: Hoare triple {2963#true} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 7: Hoare triple {2963#true} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 8: Hoare triple {2963#true} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 9: Hoare triple {2963#true} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 10: Hoare triple {2963#true} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 11: Hoare triple {2963#true} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2963#true} is VALID [2018-11-23 11:21:35,699 INFO L273 TraceCheckUtils]: 12: Hoare triple {2963#true} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L273 TraceCheckUtils]: 13: Hoare triple {2963#true} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L273 TraceCheckUtils]: 14: Hoare triple {2963#true} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L273 TraceCheckUtils]: 15: Hoare triple {2963#true} assume !~bvsle32(~i~0, ~max~0); {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L256 TraceCheckUtils]: 16: Hoare triple {2963#true} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L273 TraceCheckUtils]: 17: Hoare triple {2963#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L256 TraceCheckUtils]: 18: Hoare triple {2963#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {2963#true} is VALID [2018-11-23 11:21:35,700 INFO L273 TraceCheckUtils]: 19: Hoare triple {2963#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {2963#true} is VALID [2018-11-23 11:21:35,701 INFO L273 TraceCheckUtils]: 20: Hoare triple {2963#true} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {2963#true} is VALID [2018-11-23 11:21:35,701 INFO L256 TraceCheckUtils]: 21: Hoare triple {2963#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {2963#true} is VALID [2018-11-23 11:21:35,701 INFO L273 TraceCheckUtils]: 22: Hoare triple {2963#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2963#true} is VALID [2018-11-23 11:21:35,701 INFO L273 TraceCheckUtils]: 23: Hoare triple {2963#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2963#true} is VALID [2018-11-23 11:21:35,701 INFO L273 TraceCheckUtils]: 24: Hoare triple {2963#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2963#true} is VALID [2018-11-23 11:21:35,701 INFO L273 TraceCheckUtils]: 25: Hoare triple {2963#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L273 TraceCheckUtils]: 26: Hoare triple {2963#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L273 TraceCheckUtils]: 27: Hoare triple {2963#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L273 TraceCheckUtils]: 28: Hoare triple {2963#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L273 TraceCheckUtils]: 29: Hoare triple {2963#true} assume !~bvsgt32(~len, 0bv32); {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L273 TraceCheckUtils]: 30: Hoare triple {2963#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L273 TraceCheckUtils]: 31: Hoare triple {2963#true} assume true; {2963#true} is VALID [2018-11-23 11:21:35,702 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2963#true} {2963#true} #211#return; {2963#true} is VALID [2018-11-23 11:21:35,703 INFO L273 TraceCheckUtils]: 33: Hoare triple {2963#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {2963#true} is VALID [2018-11-23 11:21:35,703 INFO L273 TraceCheckUtils]: 34: Hoare triple {2963#true} assume true; {2963#true} is VALID [2018-11-23 11:21:35,703 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {2963#true} {2963#true} #201#return; {2963#true} is VALID [2018-11-23 11:21:35,703 INFO L273 TraceCheckUtils]: 36: Hoare triple {2963#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2963#true} is VALID [2018-11-23 11:21:35,703 INFO L273 TraceCheckUtils]: 37: Hoare triple {2963#true} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {2963#true} is VALID [2018-11-23 11:21:35,703 INFO L273 TraceCheckUtils]: 38: Hoare triple {2963#true} assume true; {2963#true} is VALID [2018-11-23 11:21:35,704 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2963#true} {2963#true} #195#return; {2963#true} is VALID [2018-11-23 11:21:35,704 INFO L273 TraceCheckUtils]: 40: Hoare triple {2963#true} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {2963#true} is VALID [2018-11-23 11:21:35,704 INFO L273 TraceCheckUtils]: 41: Hoare triple {2963#true} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {3091#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} is VALID [2018-11-23 11:21:35,705 INFO L273 TraceCheckUtils]: 42: Hoare triple {3091#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} assume !~bvsgt32(~i~0, ~max~0); {3091#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} is VALID [2018-11-23 11:21:35,705 INFO L273 TraceCheckUtils]: 43: Hoare triple {3091#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} assume !(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32); {2964#false} is VALID [2018-11-23 11:21:35,705 INFO L273 TraceCheckUtils]: 44: Hoare triple {2964#false} #t~post19 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post19);havoc #t~post19; {2964#false} is VALID [2018-11-23 11:21:35,705 INFO L273 TraceCheckUtils]: 45: Hoare triple {2964#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {2964#false} is VALID [2018-11-23 11:21:35,706 INFO L273 TraceCheckUtils]: 46: Hoare triple {2964#false} assume ~bvsgt32(~i~0, ~max~0); {2964#false} is VALID [2018-11-23 11:21:35,706 INFO L273 TraceCheckUtils]: 47: Hoare triple {2964#false} assume !false; {2964#false} is VALID [2018-11-23 11:21:35,707 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 11:21:35,707 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:35,708 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:35,709 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:21:35,709 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 48 [2018-11-23 11:21:35,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:35,709 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:21:35,760 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:35,760 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:21:35,760 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:21:35,760 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:35,761 INFO L87 Difference]: Start difference. First operand 82 states and 103 transitions. Second operand 3 states. [2018-11-23 11:21:36,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:36,065 INFO L93 Difference]: Finished difference Result 105 states and 132 transitions. [2018-11-23 11:21:36,065 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:21:36,066 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 48 [2018-11-23 11:21:36,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:36,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:36,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 87 transitions. [2018-11-23 11:21:36,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:36,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 87 transitions. [2018-11-23 11:21:36,070 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 87 transitions. [2018-11-23 11:21:36,269 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:36,272 INFO L225 Difference]: With dead ends: 105 [2018-11-23 11:21:36,272 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 11:21:36,273 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:36,273 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 11:21:36,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 83. [2018-11-23 11:21:36,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:36,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 83 states. [2018-11-23 11:21:36,363 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 83 states. [2018-11-23 11:21:36,363 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 83 states. [2018-11-23 11:21:36,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:36,367 INFO L93 Difference]: Finished difference Result 86 states and 107 transitions. [2018-11-23 11:21:36,367 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 107 transitions. [2018-11-23 11:21:36,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:36,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:36,368 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 86 states. [2018-11-23 11:21:36,368 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 86 states. [2018-11-23 11:21:36,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:36,371 INFO L93 Difference]: Finished difference Result 86 states and 107 transitions. [2018-11-23 11:21:36,371 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 107 transitions. [2018-11-23 11:21:36,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:36,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:36,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:36,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:36,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-11-23 11:21:36,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 104 transitions. [2018-11-23 11:21:36,375 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 104 transitions. Word has length 48 [2018-11-23 11:21:36,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:36,375 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 104 transitions. [2018-11-23 11:21:36,375 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:21:36,375 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 104 transitions. [2018-11-23 11:21:36,376 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-23 11:21:36,376 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:36,376 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2018-11-23 11:21:36,376 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:36,376 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:36,377 INFO L82 PathProgramCache]: Analyzing trace with hash 1911411701, now seen corresponding path program 1 times [2018-11-23 11:21:36,377 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:36,377 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:36,393 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:36,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:36,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:36,520 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:36,775 INFO L256 TraceCheckUtils]: 0: Hoare triple {3544#true} call ULTIMATE.init(); {3544#true} is VALID [2018-11-23 11:21:36,775 INFO L273 TraceCheckUtils]: 1: Hoare triple {3544#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3544#true} is VALID [2018-11-23 11:21:36,776 INFO L273 TraceCheckUtils]: 2: Hoare triple {3544#true} assume true; {3544#true} is VALID [2018-11-23 11:21:36,776 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3544#true} {3544#true} #205#return; {3544#true} is VALID [2018-11-23 11:21:36,776 INFO L256 TraceCheckUtils]: 4: Hoare triple {3544#true} call #t~ret25 := main(); {3544#true} is VALID [2018-11-23 11:21:36,778 INFO L273 TraceCheckUtils]: 5: Hoare triple {3544#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,778 INFO L273 TraceCheckUtils]: 6: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,778 INFO L273 TraceCheckUtils]: 7: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,779 INFO L273 TraceCheckUtils]: 8: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,779 INFO L273 TraceCheckUtils]: 9: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,779 INFO L273 TraceCheckUtils]: 10: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,780 INFO L273 TraceCheckUtils]: 11: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,780 INFO L273 TraceCheckUtils]: 12: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,780 INFO L273 TraceCheckUtils]: 13: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,781 INFO L273 TraceCheckUtils]: 14: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,781 INFO L273 TraceCheckUtils]: 15: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsle32(~i~0, ~max~0); {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:36,781 INFO L256 TraceCheckUtils]: 16: Hoare triple {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {3544#true} is VALID [2018-11-23 11:21:36,782 INFO L273 TraceCheckUtils]: 17: Hoare triple {3544#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {3601#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 11:21:36,782 INFO L256 TraceCheckUtils]: 18: Hoare triple {3601#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {3544#true} is VALID [2018-11-23 11:21:36,787 INFO L273 TraceCheckUtils]: 19: Hoare triple {3544#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {3608#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:36,787 INFO L273 TraceCheckUtils]: 20: Hoare triple {3608#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {3608#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:36,788 INFO L256 TraceCheckUtils]: 21: Hoare triple {3608#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {3544#true} is VALID [2018-11-23 11:21:36,788 INFO L273 TraceCheckUtils]: 22: Hoare triple {3544#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3618#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:36,788 INFO L273 TraceCheckUtils]: 23: Hoare triple {3618#(= |sll_create_#in~len| sll_create_~len)} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3618#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:36,789 INFO L273 TraceCheckUtils]: 24: Hoare triple {3618#(= |sll_create_#in~len| sll_create_~len)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3618#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:36,789 INFO L273 TraceCheckUtils]: 25: Hoare triple {3618#(= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3628#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} is VALID [2018-11-23 11:21:36,790 INFO L273 TraceCheckUtils]: 26: Hoare triple {3628#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3628#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} is VALID [2018-11-23 11:21:36,790 INFO L273 TraceCheckUtils]: 27: Hoare triple {3628#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3628#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} is VALID [2018-11-23 11:21:36,812 INFO L273 TraceCheckUtils]: 28: Hoare triple {3628#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3638#(= (bvadd |sll_create_#in~len| (_ bv4294967294 32)) sll_create_~len)} is VALID [2018-11-23 11:21:36,815 INFO L273 TraceCheckUtils]: 29: Hoare triple {3638#(= (bvadd |sll_create_#in~len| (_ bv4294967294 32)) sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,816 INFO L273 TraceCheckUtils]: 30: Hoare triple {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,816 INFO L273 TraceCheckUtils]: 31: Hoare triple {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} assume true; {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,818 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} {3608#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #211#return; {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,818 INFO L273 TraceCheckUtils]: 33: Hoare triple {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,818 INFO L273 TraceCheckUtils]: 34: Hoare triple {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} assume true; {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,820 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} {3601#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #201#return; {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,820 INFO L273 TraceCheckUtils]: 36: Hoare triple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,821 INFO L273 TraceCheckUtils]: 37: Hoare triple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,821 INFO L273 TraceCheckUtils]: 38: Hoare triple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} assume true; {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:36,822 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} {3564#(= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32))} #195#return; {3545#false} is VALID [2018-11-23 11:21:36,823 INFO L273 TraceCheckUtils]: 40: Hoare triple {3545#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {3545#false} is VALID [2018-11-23 11:21:36,823 INFO L273 TraceCheckUtils]: 41: Hoare triple {3545#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {3545#false} is VALID [2018-11-23 11:21:36,823 INFO L273 TraceCheckUtils]: 42: Hoare triple {3545#false} assume !~bvsgt32(~i~0, ~max~0); {3545#false} is VALID [2018-11-23 11:21:36,823 INFO L273 TraceCheckUtils]: 43: Hoare triple {3545#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {3545#false} is VALID [2018-11-23 11:21:36,824 INFO L256 TraceCheckUtils]: 44: Hoare triple {3545#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {3545#false} is VALID [2018-11-23 11:21:36,824 INFO L273 TraceCheckUtils]: 45: Hoare triple {3545#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {3545#false} is VALID [2018-11-23 11:21:36,825 INFO L273 TraceCheckUtils]: 46: Hoare triple {3545#false} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {3545#false} is VALID [2018-11-23 11:21:36,825 INFO L273 TraceCheckUtils]: 47: Hoare triple {3545#false} #res := ~len~0; {3545#false} is VALID [2018-11-23 11:21:36,826 INFO L273 TraceCheckUtils]: 48: Hoare triple {3545#false} assume true; {3545#false} is VALID [2018-11-23 11:21:36,826 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3545#false} {3545#false} #197#return; {3545#false} is VALID [2018-11-23 11:21:36,826 INFO L273 TraceCheckUtils]: 50: Hoare triple {3545#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {3545#false} is VALID [2018-11-23 11:21:36,827 INFO L273 TraceCheckUtils]: 51: Hoare triple {3545#false} assume !(~i~0 == ~count~0); {3545#false} is VALID [2018-11-23 11:21:36,827 INFO L273 TraceCheckUtils]: 52: Hoare triple {3545#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {3545#false} is VALID [2018-11-23 11:21:36,827 INFO L273 TraceCheckUtils]: 53: Hoare triple {3545#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {3545#false} is VALID [2018-11-23 11:21:36,827 INFO L273 TraceCheckUtils]: 54: Hoare triple {3545#false} assume !false; {3545#false} is VALID [2018-11-23 11:21:36,831 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:36,831 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:37,896 INFO L273 TraceCheckUtils]: 54: Hoare triple {3545#false} assume !false; {3545#false} is VALID [2018-11-23 11:21:37,897 INFO L273 TraceCheckUtils]: 53: Hoare triple {3545#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {3545#false} is VALID [2018-11-23 11:21:37,897 INFO L273 TraceCheckUtils]: 52: Hoare triple {3545#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {3545#false} is VALID [2018-11-23 11:21:37,897 INFO L273 TraceCheckUtils]: 51: Hoare triple {3545#false} assume !(~i~0 == ~count~0); {3545#false} is VALID [2018-11-23 11:21:37,898 INFO L273 TraceCheckUtils]: 50: Hoare triple {3545#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {3545#false} is VALID [2018-11-23 11:21:37,898 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3544#true} {3545#false} #197#return; {3545#false} is VALID [2018-11-23 11:21:37,898 INFO L273 TraceCheckUtils]: 48: Hoare triple {3544#true} assume true; {3544#true} is VALID [2018-11-23 11:21:37,899 INFO L273 TraceCheckUtils]: 47: Hoare triple {3544#true} #res := ~len~0; {3544#true} is VALID [2018-11-23 11:21:37,899 INFO L273 TraceCheckUtils]: 46: Hoare triple {3544#true} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {3544#true} is VALID [2018-11-23 11:21:37,899 INFO L273 TraceCheckUtils]: 45: Hoare triple {3544#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {3544#true} is VALID [2018-11-23 11:21:37,899 INFO L256 TraceCheckUtils]: 44: Hoare triple {3545#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {3544#true} is VALID [2018-11-23 11:21:37,899 INFO L273 TraceCheckUtils]: 43: Hoare triple {3545#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {3545#false} is VALID [2018-11-23 11:21:37,899 INFO L273 TraceCheckUtils]: 42: Hoare triple {3545#false} assume !~bvsgt32(~i~0, ~max~0); {3545#false} is VALID [2018-11-23 11:21:37,900 INFO L273 TraceCheckUtils]: 41: Hoare triple {3545#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {3545#false} is VALID [2018-11-23 11:21:37,900 INFO L273 TraceCheckUtils]: 40: Hoare triple {3545#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {3545#false} is VALID [2018-11-23 11:21:37,904 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} #195#return; {3545#false} is VALID [2018-11-23 11:21:37,905 INFO L273 TraceCheckUtils]: 38: Hoare triple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} assume true; {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,906 INFO L273 TraceCheckUtils]: 37: Hoare triple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,907 INFO L273 TraceCheckUtils]: 36: Hoare triple {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,909 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} {3781#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} #201#return; {3662#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,910 INFO L273 TraceCheckUtils]: 34: Hoare triple {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} assume true; {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,910 INFO L273 TraceCheckUtils]: 33: Hoare triple {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,913 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} {3794#(or (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} #211#return; {3652#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,914 INFO L273 TraceCheckUtils]: 31: Hoare triple {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} assume true; {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,916 INFO L273 TraceCheckUtils]: 30: Hoare triple {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,917 INFO L273 TraceCheckUtils]: 29: Hoare triple {3807#(or (bvsgt sll_create_~len (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} assume !~bvsgt32(~len, 0bv32); {3642#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:37,920 INFO L273 TraceCheckUtils]: 28: Hoare triple {3811#(or (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3807#(or (bvsgt sll_create_~len (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,921 INFO L273 TraceCheckUtils]: 27: Hoare triple {3811#(or (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3811#(or (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,921 INFO L273 TraceCheckUtils]: 26: Hoare triple {3811#(or (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3811#(or (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,926 INFO L273 TraceCheckUtils]: 25: Hoare triple {3821#(or (bvsgt (bvadd sll_create_~len (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3811#(or (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,926 INFO L273 TraceCheckUtils]: 24: Hoare triple {3821#(or (bvsgt (bvadd sll_create_~len (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3821#(or (bvsgt (bvadd sll_create_~len (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,927 INFO L273 TraceCheckUtils]: 23: Hoare triple {3821#(or (bvsgt (bvadd sll_create_~len (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3821#(or (bvsgt (bvadd sll_create_~len (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,927 INFO L273 TraceCheckUtils]: 22: Hoare triple {3544#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3821#(or (bvsgt (bvadd sll_create_~len (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,927 INFO L256 TraceCheckUtils]: 21: Hoare triple {3794#(or (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {3544#true} is VALID [2018-11-23 11:21:37,928 INFO L273 TraceCheckUtils]: 20: Hoare triple {3794#(or (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {3794#(or (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,929 INFO L273 TraceCheckUtils]: 19: Hoare triple {3544#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {3794#(or (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,929 INFO L256 TraceCheckUtils]: 18: Hoare triple {3781#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {3544#true} is VALID [2018-11-23 11:21:37,930 INFO L273 TraceCheckUtils]: 17: Hoare triple {3544#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {3781#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967294 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:37,931 INFO L256 TraceCheckUtils]: 16: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {3544#true} is VALID [2018-11-23 11:21:37,931 INFO L273 TraceCheckUtils]: 15: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !~bvsle32(~i~0, ~max~0); {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,931 INFO L273 TraceCheckUtils]: 14: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,932 INFO L273 TraceCheckUtils]: 13: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,932 INFO L273 TraceCheckUtils]: 12: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,932 INFO L273 TraceCheckUtils]: 11: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,933 INFO L273 TraceCheckUtils]: 10: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,940 INFO L273 TraceCheckUtils]: 9: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,940 INFO L273 TraceCheckUtils]: 8: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,941 INFO L273 TraceCheckUtils]: 7: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,941 INFO L273 TraceCheckUtils]: 6: Hoare triple {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,942 INFO L273 TraceCheckUtils]: 5: Hoare triple {3544#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {3765#(bvsgt (bvadd main_~min~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:37,942 INFO L256 TraceCheckUtils]: 4: Hoare triple {3544#true} call #t~ret25 := main(); {3544#true} is VALID [2018-11-23 11:21:37,942 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3544#true} {3544#true} #205#return; {3544#true} is VALID [2018-11-23 11:21:37,942 INFO L273 TraceCheckUtils]: 2: Hoare triple {3544#true} assume true; {3544#true} is VALID [2018-11-23 11:21:37,942 INFO L273 TraceCheckUtils]: 1: Hoare triple {3544#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3544#true} is VALID [2018-11-23 11:21:37,943 INFO L256 TraceCheckUtils]: 0: Hoare triple {3544#true} call ULTIMATE.init(); {3544#true} is VALID [2018-11-23 11:21:37,947 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:37,949 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:37,949 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2018-11-23 11:21:37,950 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 55 [2018-11-23 11:21:37,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:37,951 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 11:21:38,085 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:38,085 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 11:21:38,086 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 11:21:38,086 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=230, Unknown=0, NotChecked=0, Total=272 [2018-11-23 11:21:38,086 INFO L87 Difference]: Start difference. First operand 83 states and 104 transitions. Second operand 17 states. [2018-11-23 11:21:41,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:41,813 INFO L93 Difference]: Finished difference Result 135 states and 171 transitions. [2018-11-23 11:21:41,813 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 11:21:41,813 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 55 [2018-11-23 11:21:41,814 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:41,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:21:41,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 118 transitions. [2018-11-23 11:21:41,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:21:41,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 118 transitions. [2018-11-23 11:21:41,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 118 transitions. [2018-11-23 11:21:42,045 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:42,048 INFO L225 Difference]: With dead ends: 135 [2018-11-23 11:21:42,048 INFO L226 Difference]: Without dead ends: 114 [2018-11-23 11:21:42,049 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 94 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=78, Invalid=428, Unknown=0, NotChecked=0, Total=506 [2018-11-23 11:21:42,049 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2018-11-23 11:21:42,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 86. [2018-11-23 11:21:42,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:42,109 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 86 states. [2018-11-23 11:21:42,109 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 86 states. [2018-11-23 11:21:42,109 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 86 states. [2018-11-23 11:21:42,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:42,114 INFO L93 Difference]: Finished difference Result 114 states and 144 transitions. [2018-11-23 11:21:42,114 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 144 transitions. [2018-11-23 11:21:42,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:42,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:42,115 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 114 states. [2018-11-23 11:21:42,115 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 114 states. [2018-11-23 11:21:42,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:42,121 INFO L93 Difference]: Finished difference Result 114 states and 144 transitions. [2018-11-23 11:21:42,121 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 144 transitions. [2018-11-23 11:21:42,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:42,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:42,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:42,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:42,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2018-11-23 11:21:42,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 108 transitions. [2018-11-23 11:21:42,125 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 108 transitions. Word has length 55 [2018-11-23 11:21:42,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:42,126 INFO L480 AbstractCegarLoop]: Abstraction has 86 states and 108 transitions. [2018-11-23 11:21:42,126 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 11:21:42,126 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 108 transitions. [2018-11-23 11:21:42,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-23 11:21:42,127 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:42,127 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-23 11:21:42,127 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:42,127 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:42,128 INFO L82 PathProgramCache]: Analyzing trace with hash -897354177, now seen corresponding path program 2 times [2018-11-23 11:21:42,128 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:42,128 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:42,155 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:21:42,358 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:21:42,358 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:21:42,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:42,412 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:42,450 INFO L478 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-23 11:21:42,454 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,461 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,462 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:21:42,465 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:21:42,465 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_112|]. (and (= |#valid| (store |v_#valid_112| |main_~#head~1.base| (_ bv1 1))) (= |main_~#head~1.offset| (_ bv0 32))) [2018-11-23 11:21:42,465 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|))) [2018-11-23 11:21:42,660 INFO L478 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 16 treesize of output 13 [2018-11-23 11:21:42,666 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:21:42,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:21:42,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:21:42,676 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 33 [2018-11-23 11:21:42,678 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,691 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,701 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,722 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-23 11:21:42,722 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:29, output treesize:26 [2018-11-23 11:21:42,733 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:21:42,733 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_111|, |v_node_create_with_sublist_#t~ret5.base_42|]. (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= (_ bv0 32) |v_node_create_with_sublist_#t~ret5.base_42|)) (= (store |v_#memory_$Pointer$.base_111| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.base_111| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)) |v_node_create_with_sublist_#t~ret5.base_42|) |node_create_with_sublist_#res.offset| (_ bv0 32))) |#memory_$Pointer$.base|) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))) [2018-11-23 11:21:42,734 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select .cse0 |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select .cse0 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))) [2018-11-23 11:21:42,875 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:21:42,876 INFO L478 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 27 treesize of output 25 [2018-11-23 11:21:42,898 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 23 [2018-11-23 11:21:42,904 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,921 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,944 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:42,945 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:41, output treesize:30 [2018-11-23 11:21:43,033 INFO L478 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-23 11:21:43,039 INFO L478 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-23 11:21:43,040 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:43,045 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:43,123 INFO L478 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 27 treesize of output 37 [2018-11-23 11:21:43,141 INFO L478 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 28 treesize of output 27 [2018-11-23 11:21:43,143 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:43,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 23 treesize of output 37 [2018-11-23 11:21:43,278 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 4 xjuncts. [2018-11-23 11:21:43,353 INFO L267 ElimStorePlain]: Start of recursive call 4: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:21:43,411 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:21:43,412 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:43, output treesize:110 [2018-11-23 11:21:45,293 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:21:45,293 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_113|, sll_append_~new_last~0.base, |v_#memory_$Pointer$.offset_111|]. (let ((.cse0 (select |v_#memory_$Pointer$.base_113| sll_append_~new_last~0.base))) (and (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= (_ bv0 32) (select .cse0 (_ bv0 32))) (= (store |v_#memory_$Pointer$.base_113| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.base_113| |sll_append_#in~head.base|) |sll_append_#in~head.offset| sll_append_~new_last~0.base)) |#memory_$Pointer$.base|) (not (= (_ bv0 32) (select .cse0 (_ bv4 32)))) (= (store |v_#memory_$Pointer$.offset_111| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.offset_111| |sll_append_#in~head.base|) |sll_append_#in~head.offset| (_ bv0 32))) |#memory_$Pointer$.offset|))) [2018-11-23 11:21:45,293 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse5 (select |#memory_$Pointer$.base| |sll_append_#in~head.base|))) (let ((.cse3 (select .cse5 |sll_append_#in~head.offset|))) (let ((.cse0 (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (.cse1 (= (_ bv0 1) (select |old(#valid)| .cse3))) (.cse4 (= .cse3 |sll_append_#in~head.base|))) (or (let ((.cse2 (select |#memory_$Pointer$.base| .cse3))) (and .cse0 .cse1 (not (= (select .cse2 (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select .cse2 (_ bv0 32))))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) .cse0 .cse1 .cse4 (= (select .cse5 (_ bv0 32)) (_ bv0 32))) (and .cse0 .cse1 .cse4 (not (= (select .cse5 (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)))))) [2018-11-23 11:21:45,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:21:45,530 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:21:45,531 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 42 [2018-11-23 11:21:45,538 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,617 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,617 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:131, output treesize:42 [2018-11-23 11:21:45,897 INFO L478 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-23 11:21:45,935 INFO L478 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-23 11:21:45,941 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,945 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,962 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-23 11:21:45,963 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:53, output treesize:42 [2018-11-23 11:21:45,971 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:21:45,972 WARN L384 uantifierElimination]: Input elimination task: ∃ [|main_~#head~1.base|, |#memory_$Pointer$.offset|]. (let ((.cse2 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse1 (select |#memory_$Pointer$.base| .cse2)) (.cse0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)))) (and (= .cse0 (_ bv0 32)) (not (= (_ bv0 32) (select .cse1 (_ bv4 32)))) (= (select .cse1 (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| .cse2)) (= .cse2 main_~ptr~0.base) (= .cse0 main_~ptr~0.offset)))) [2018-11-23 11:21:45,972 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#head~1.base|]. (let ((.cse1 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse0 (select |#memory_$Pointer$.base| .cse1))) (and (not (= (_ bv0 32) (select .cse0 (_ bv4 32)))) (= (select .cse0 (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| .cse1)) (= .cse1 main_~ptr~0.base) (= main_~ptr~0.offset (_ bv0 32))))) [2018-11-23 11:21:46,072 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 28 [2018-11-23 11:21:46,086 INFO L478 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-23 11:21:46,088 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:46,101 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 4 [2018-11-23 11:21:46,107 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:46,108 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:46,110 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-23 11:21:46,110 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:43, output treesize:4 [2018-11-23 11:21:46,115 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:21:46,115 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, |main_~#head~1.base|]. (let ((.cse2 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse1 (select |#memory_$Pointer$.base| .cse2))) (let ((.cse0 (select .cse1 (_ bv4 32)))) (and (= |main_#t~mem20.base| .cse0) (not (= (_ bv0 32) .cse0)) (= (select .cse1 (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| .cse2)))))) [2018-11-23 11:21:46,115 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= |main_#t~mem20.base| (_ bv0 32))) [2018-11-23 11:21:46,275 INFO L256 TraceCheckUtils]: 0: Hoare triple {4429#true} call ULTIMATE.init(); {4429#true} is VALID [2018-11-23 11:21:46,276 INFO L273 TraceCheckUtils]: 1: Hoare triple {4429#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4429#true} is VALID [2018-11-23 11:21:46,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {4429#true} assume true; {4429#true} is VALID [2018-11-23 11:21:46,276 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4429#true} {4429#true} #205#return; {4429#true} is VALID [2018-11-23 11:21:46,276 INFO L256 TraceCheckUtils]: 4: Hoare triple {4429#true} call #t~ret25 := main(); {4429#true} is VALID [2018-11-23 11:21:46,278 INFO L273 TraceCheckUtils]: 5: Hoare triple {4429#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,279 INFO L273 TraceCheckUtils]: 6: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,279 INFO L273 TraceCheckUtils]: 7: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,280 INFO L273 TraceCheckUtils]: 8: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,280 INFO L273 TraceCheckUtils]: 9: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,281 INFO L273 TraceCheckUtils]: 10: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,282 INFO L273 TraceCheckUtils]: 11: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,282 INFO L273 TraceCheckUtils]: 12: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,283 INFO L273 TraceCheckUtils]: 13: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,284 INFO L273 TraceCheckUtils]: 14: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,285 INFO L273 TraceCheckUtils]: 15: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !~bvsle32(~i~0, ~max~0); {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:21:46,286 INFO L256 TraceCheckUtils]: 16: Hoare triple {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {4483#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:21:46,287 INFO L273 TraceCheckUtils]: 17: Hoare triple {4483#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {4487#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} is VALID [2018-11-23 11:21:46,288 INFO L256 TraceCheckUtils]: 18: Hoare triple {4487#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {4483#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:21:46,289 INFO L273 TraceCheckUtils]: 19: Hoare triple {4483#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {4494#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:21:46,290 INFO L273 TraceCheckUtils]: 20: Hoare triple {4494#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {4494#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:21:46,291 INFO L256 TraceCheckUtils]: 21: Hoare triple {4494#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {4429#true} is VALID [2018-11-23 11:21:46,291 INFO L273 TraceCheckUtils]: 22: Hoare triple {4429#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4429#true} is VALID [2018-11-23 11:21:46,291 INFO L273 TraceCheckUtils]: 23: Hoare triple {4429#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4429#true} is VALID [2018-11-23 11:21:46,291 INFO L273 TraceCheckUtils]: 24: Hoare triple {4429#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4429#true} is VALID [2018-11-23 11:21:46,292 INFO L273 TraceCheckUtils]: 25: Hoare triple {4429#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4429#true} is VALID [2018-11-23 11:21:46,292 INFO L273 TraceCheckUtils]: 26: Hoare triple {4429#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4429#true} is VALID [2018-11-23 11:21:46,292 INFO L273 TraceCheckUtils]: 27: Hoare triple {4429#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4429#true} is VALID [2018-11-23 11:21:46,292 INFO L273 TraceCheckUtils]: 28: Hoare triple {4429#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4429#true} is VALID [2018-11-23 11:21:46,293 INFO L273 TraceCheckUtils]: 29: Hoare triple {4429#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4525#(not (= (_ bv0 32) sll_create_~new_head~0.base))} is VALID [2018-11-23 11:21:46,293 INFO L273 TraceCheckUtils]: 30: Hoare triple {4525#(not (= (_ bv0 32) sll_create_~new_head~0.base))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4525#(not (= (_ bv0 32) sll_create_~new_head~0.base))} is VALID [2018-11-23 11:21:46,294 INFO L273 TraceCheckUtils]: 31: Hoare triple {4525#(not (= (_ bv0 32) sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4532#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:21:46,294 INFO L273 TraceCheckUtils]: 32: Hoare triple {4532#(not (= sll_create_~head~0.base (_ bv0 32)))} assume !~bvsgt32(~len, 0bv32); {4532#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:21:46,294 INFO L273 TraceCheckUtils]: 33: Hoare triple {4532#(not (= sll_create_~head~0.base (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4539#(not (= (_ bv0 32) |sll_create_#res.base|))} is VALID [2018-11-23 11:21:46,295 INFO L273 TraceCheckUtils]: 34: Hoare triple {4539#(not (= (_ bv0 32) |sll_create_#res.base|))} assume true; {4539#(not (= (_ bv0 32) |sll_create_#res.base|))} is VALID [2018-11-23 11:21:46,296 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {4539#(not (= (_ bv0 32) |sll_create_#res.base|))} {4494#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} #211#return; {4546#(and (not (= (_ bv0 32) |node_create_with_sublist_#t~ret5.base|)) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:21:46,298 INFO L273 TraceCheckUtils]: 36: Hoare triple {4546#(and (not (= (_ bv0 32) |node_create_with_sublist_#t~ret5.base|)) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {4550#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} is VALID [2018-11-23 11:21:46,299 INFO L273 TraceCheckUtils]: 37: Hoare triple {4550#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} assume true; {4550#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} is VALID [2018-11-23 11:21:46,302 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4550#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} {4487#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} #201#return; {4557#(and (= sll_append_~head.base |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32)) (_ bv0 32))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)))} is VALID [2018-11-23 11:21:46,304 INFO L273 TraceCheckUtils]: 39: Hoare triple {4557#(and (= sll_append_~head.base |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32)) (_ bv0 32))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4561#(and (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32)) (_ bv0 32))) (= sll_append_~new_last~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:21:46,309 INFO L273 TraceCheckUtils]: 40: Hoare triple {4561#(and (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32)) (_ bv0 32))) (= sll_append_~new_last~0.offset (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {4565#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)))} is VALID [2018-11-23 11:21:46,310 INFO L273 TraceCheckUtils]: 41: Hoare triple {4565#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)))} assume true; {4565#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)))} is VALID [2018-11-23 11:21:46,312 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4565#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)))} {4449#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #195#return; {4572#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:46,314 INFO L273 TraceCheckUtils]: 43: Hoare triple {4572#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {4576#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base))) (= main_~ptr~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:21:46,315 INFO L273 TraceCheckUtils]: 44: Hoare triple {4576#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base))) (= main_~ptr~0.offset (_ bv0 32)))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {4576#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base))) (= main_~ptr~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:21:46,316 INFO L273 TraceCheckUtils]: 45: Hoare triple {4576#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base))) (= main_~ptr~0.offset (_ bv0 32)))} assume !~bvsgt32(~i~0, ~max~0); {4576#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base))) (= main_~ptr~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:21:46,317 INFO L273 TraceCheckUtils]: 46: Hoare triple {4576#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base))) (= main_~ptr~0.offset (_ bv0 32)))} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {4586#(not (= |main_#t~mem20.base| (_ bv0 32)))} is VALID [2018-11-23 11:21:46,317 INFO L256 TraceCheckUtils]: 47: Hoare triple {4586#(not (= |main_#t~mem20.base| (_ bv0 32)))} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {4429#true} is VALID [2018-11-23 11:21:46,318 INFO L273 TraceCheckUtils]: 48: Hoare triple {4429#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {4593#(= sll_length_~head.base |sll_length_#in~head.base|)} is VALID [2018-11-23 11:21:46,318 INFO L273 TraceCheckUtils]: 49: Hoare triple {4593#(= sll_length_~head.base |sll_length_#in~head.base|)} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {4597#(= (_ bv0 32) |sll_length_#in~head.base|)} is VALID [2018-11-23 11:21:46,319 INFO L273 TraceCheckUtils]: 50: Hoare triple {4597#(= (_ bv0 32) |sll_length_#in~head.base|)} #res := ~len~0; {4597#(= (_ bv0 32) |sll_length_#in~head.base|)} is VALID [2018-11-23 11:21:46,319 INFO L273 TraceCheckUtils]: 51: Hoare triple {4597#(= (_ bv0 32) |sll_length_#in~head.base|)} assume true; {4597#(= (_ bv0 32) |sll_length_#in~head.base|)} is VALID [2018-11-23 11:21:46,320 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4597#(= (_ bv0 32) |sll_length_#in~head.base|)} {4586#(not (= |main_#t~mem20.base| (_ bv0 32)))} #197#return; {4430#false} is VALID [2018-11-23 11:21:46,321 INFO L273 TraceCheckUtils]: 53: Hoare triple {4430#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {4430#false} is VALID [2018-11-23 11:21:46,321 INFO L273 TraceCheckUtils]: 54: Hoare triple {4430#false} assume !(~i~0 == ~count~0); {4430#false} is VALID [2018-11-23 11:21:46,321 INFO L273 TraceCheckUtils]: 55: Hoare triple {4430#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {4430#false} is VALID [2018-11-23 11:21:46,321 INFO L273 TraceCheckUtils]: 56: Hoare triple {4430#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {4430#false} is VALID [2018-11-23 11:21:46,322 INFO L273 TraceCheckUtils]: 57: Hoare triple {4430#false} assume !false; {4430#false} is VALID [2018-11-23 11:21:46,330 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 11:21:46,331 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:46,333 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:46,333 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2018-11-23 11:21:46,334 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 58 [2018-11-23 11:21:46,335 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:46,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 11:21:46,413 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:46,413 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 11:21:46,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 11:21:46,414 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=305, Unknown=0, NotChecked=0, Total=342 [2018-11-23 11:21:46,414 INFO L87 Difference]: Start difference. First operand 86 states and 108 transitions. Second operand 19 states. [2018-11-23 11:21:55,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:55,151 INFO L93 Difference]: Finished difference Result 184 states and 266 transitions. [2018-11-23 11:21:55,151 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 11:21:55,152 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 58 [2018-11-23 11:21:55,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:55,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 11:21:55,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 165 transitions. [2018-11-23 11:21:55,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 11:21:55,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 165 transitions. [2018-11-23 11:21:55,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 165 transitions. [2018-11-23 11:21:55,456 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:55,461 INFO L225 Difference]: With dead ends: 184 [2018-11-23 11:21:55,461 INFO L226 Difference]: Without dead ends: 164 [2018-11-23 11:21:55,462 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=71, Invalid=579, Unknown=0, NotChecked=0, Total=650 [2018-11-23 11:21:55,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2018-11-23 11:21:56,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 115. [2018-11-23 11:21:56,554 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:56,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand 115 states. [2018-11-23 11:21:56,555 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 115 states. [2018-11-23 11:21:56,555 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 115 states. [2018-11-23 11:21:56,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:56,565 INFO L93 Difference]: Finished difference Result 164 states and 240 transitions. [2018-11-23 11:21:56,565 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 240 transitions. [2018-11-23 11:21:56,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:56,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:56,567 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 164 states. [2018-11-23 11:21:56,567 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 164 states. [2018-11-23 11:21:56,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:56,576 INFO L93 Difference]: Finished difference Result 164 states and 240 transitions. [2018-11-23 11:21:56,576 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 240 transitions. [2018-11-23 11:21:56,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:56,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:56,578 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:56,578 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:56,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 11:21:56,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 152 transitions. [2018-11-23 11:21:56,583 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 152 transitions. Word has length 58 [2018-11-23 11:21:56,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:56,584 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 152 transitions. [2018-11-23 11:21:56,584 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 11:21:56,584 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 152 transitions. [2018-11-23 11:21:56,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 11:21:56,585 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:56,585 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:56,586 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:56,586 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:56,586 INFO L82 PathProgramCache]: Analyzing trace with hash 1169475066, now seen corresponding path program 1 times [2018-11-23 11:21:56,587 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:56,587 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:56,614 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:21:56,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:56,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:56,826 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:57,118 INFO L256 TraceCheckUtils]: 0: Hoare triple {5384#true} call ULTIMATE.init(); {5384#true} is VALID [2018-11-23 11:21:57,118 INFO L273 TraceCheckUtils]: 1: Hoare triple {5384#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5384#true} is VALID [2018-11-23 11:21:57,118 INFO L273 TraceCheckUtils]: 2: Hoare triple {5384#true} assume true; {5384#true} is VALID [2018-11-23 11:21:57,118 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5384#true} {5384#true} #205#return; {5384#true} is VALID [2018-11-23 11:21:57,118 INFO L256 TraceCheckUtils]: 4: Hoare triple {5384#true} call #t~ret25 := main(); {5384#true} is VALID [2018-11-23 11:21:57,119 INFO L273 TraceCheckUtils]: 5: Hoare triple {5384#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {5404#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,120 INFO L273 TraceCheckUtils]: 6: Hoare triple {5404#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5404#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,120 INFO L273 TraceCheckUtils]: 7: Hoare triple {5404#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5404#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,120 INFO L273 TraceCheckUtils]: 8: Hoare triple {5404#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5414#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:57,121 INFO L273 TraceCheckUtils]: 9: Hoare triple {5414#(= (_ bv4 32) main_~i~0)} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5414#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:57,121 INFO L273 TraceCheckUtils]: 10: Hoare triple {5414#(= (_ bv4 32) main_~i~0)} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5414#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:57,122 INFO L273 TraceCheckUtils]: 11: Hoare triple {5414#(= (_ bv4 32) main_~i~0)} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,122 INFO L273 TraceCheckUtils]: 12: Hoare triple {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,122 INFO L273 TraceCheckUtils]: 13: Hoare triple {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,122 INFO L256 TraceCheckUtils]: 14: Hoare triple {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {5384#true} is VALID [2018-11-23 11:21:57,123 INFO L273 TraceCheckUtils]: 15: Hoare triple {5384#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5437#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 11:21:57,123 INFO L256 TraceCheckUtils]: 16: Hoare triple {5437#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5384#true} is VALID [2018-11-23 11:21:57,123 INFO L273 TraceCheckUtils]: 17: Hoare triple {5384#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5444#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:57,124 INFO L273 TraceCheckUtils]: 18: Hoare triple {5444#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {5444#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:57,124 INFO L256 TraceCheckUtils]: 19: Hoare triple {5444#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5384#true} is VALID [2018-11-23 11:21:57,125 INFO L273 TraceCheckUtils]: 20: Hoare triple {5384#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5454#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:57,125 INFO L273 TraceCheckUtils]: 21: Hoare triple {5454#(= |sll_create_#in~len| sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,126 INFO L273 TraceCheckUtils]: 22: Hoare triple {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,126 INFO L273 TraceCheckUtils]: 23: Hoare triple {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} assume true; {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,128 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} {5444#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #211#return; {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,128 INFO L273 TraceCheckUtils]: 25: Hoare triple {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,129 INFO L273 TraceCheckUtils]: 26: Hoare triple {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} assume true; {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,130 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} {5437#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #201#return; {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,131 INFO L273 TraceCheckUtils]: 28: Hoare triple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,132 INFO L273 TraceCheckUtils]: 29: Hoare triple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,132 INFO L273 TraceCheckUtils]: 30: Hoare triple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume true; {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,133 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} {5424#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} #193#return; {5385#false} is VALID [2018-11-23 11:21:57,134 INFO L273 TraceCheckUtils]: 32: Hoare triple {5385#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {5385#false} is VALID [2018-11-23 11:21:57,134 INFO L273 TraceCheckUtils]: 33: Hoare triple {5385#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5385#false} is VALID [2018-11-23 11:21:57,134 INFO L273 TraceCheckUtils]: 34: Hoare triple {5385#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5385#false} is VALID [2018-11-23 11:21:57,134 INFO L273 TraceCheckUtils]: 35: Hoare triple {5385#false} assume !~bvsle32(~i~0, ~max~0); {5385#false} is VALID [2018-11-23 11:21:57,135 INFO L256 TraceCheckUtils]: 36: Hoare triple {5385#false} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {5385#false} is VALID [2018-11-23 11:21:57,135 INFO L273 TraceCheckUtils]: 37: Hoare triple {5385#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5385#false} is VALID [2018-11-23 11:21:57,135 INFO L256 TraceCheckUtils]: 38: Hoare triple {5385#false} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5385#false} is VALID [2018-11-23 11:21:57,136 INFO L273 TraceCheckUtils]: 39: Hoare triple {5385#false} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5385#false} is VALID [2018-11-23 11:21:57,136 INFO L273 TraceCheckUtils]: 40: Hoare triple {5385#false} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {5385#false} is VALID [2018-11-23 11:21:57,136 INFO L256 TraceCheckUtils]: 41: Hoare triple {5385#false} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5385#false} is VALID [2018-11-23 11:21:57,137 INFO L273 TraceCheckUtils]: 42: Hoare triple {5385#false} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5385#false} is VALID [2018-11-23 11:21:57,137 INFO L273 TraceCheckUtils]: 43: Hoare triple {5385#false} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5385#false} is VALID [2018-11-23 11:21:57,137 INFO L273 TraceCheckUtils]: 44: Hoare triple {5385#false} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5385#false} is VALID [2018-11-23 11:21:57,137 INFO L273 TraceCheckUtils]: 45: Hoare triple {5385#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5385#false} is VALID [2018-11-23 11:21:57,138 INFO L273 TraceCheckUtils]: 46: Hoare triple {5385#false} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5385#false} is VALID [2018-11-23 11:21:57,138 INFO L273 TraceCheckUtils]: 47: Hoare triple {5385#false} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5385#false} is VALID [2018-11-23 11:21:57,138 INFO L273 TraceCheckUtils]: 48: Hoare triple {5385#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5385#false} is VALID [2018-11-23 11:21:57,138 INFO L273 TraceCheckUtils]: 49: Hoare triple {5385#false} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5385#false} is VALID [2018-11-23 11:21:57,139 INFO L273 TraceCheckUtils]: 50: Hoare triple {5385#false} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5385#false} is VALID [2018-11-23 11:21:57,139 INFO L273 TraceCheckUtils]: 51: Hoare triple {5385#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5385#false} is VALID [2018-11-23 11:21:57,139 INFO L273 TraceCheckUtils]: 52: Hoare triple {5385#false} assume !~bvsgt32(~len, 0bv32); {5385#false} is VALID [2018-11-23 11:21:57,139 INFO L273 TraceCheckUtils]: 53: Hoare triple {5385#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5385#false} is VALID [2018-11-23 11:21:57,139 INFO L273 TraceCheckUtils]: 54: Hoare triple {5385#false} assume true; {5385#false} is VALID [2018-11-23 11:21:57,140 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {5385#false} {5385#false} #211#return; {5385#false} is VALID [2018-11-23 11:21:57,140 INFO L273 TraceCheckUtils]: 56: Hoare triple {5385#false} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5385#false} is VALID [2018-11-23 11:21:57,140 INFO L273 TraceCheckUtils]: 57: Hoare triple {5385#false} assume true; {5385#false} is VALID [2018-11-23 11:21:57,140 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5385#false} {5385#false} #201#return; {5385#false} is VALID [2018-11-23 11:21:57,140 INFO L273 TraceCheckUtils]: 59: Hoare triple {5385#false} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5385#false} is VALID [2018-11-23 11:21:57,140 INFO L273 TraceCheckUtils]: 60: Hoare triple {5385#false} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {5385#false} is VALID [2018-11-23 11:21:57,141 INFO L273 TraceCheckUtils]: 61: Hoare triple {5385#false} assume true; {5385#false} is VALID [2018-11-23 11:21:57,141 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5385#false} {5385#false} #195#return; {5385#false} is VALID [2018-11-23 11:21:57,141 INFO L273 TraceCheckUtils]: 63: Hoare triple {5385#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {5385#false} is VALID [2018-11-23 11:21:57,141 INFO L273 TraceCheckUtils]: 64: Hoare triple {5385#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {5385#false} is VALID [2018-11-23 11:21:57,141 INFO L273 TraceCheckUtils]: 65: Hoare triple {5385#false} assume !~bvsgt32(~i~0, ~max~0); {5385#false} is VALID [2018-11-23 11:21:57,142 INFO L273 TraceCheckUtils]: 66: Hoare triple {5385#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {5385#false} is VALID [2018-11-23 11:21:57,142 INFO L256 TraceCheckUtils]: 67: Hoare triple {5385#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {5385#false} is VALID [2018-11-23 11:21:57,142 INFO L273 TraceCheckUtils]: 68: Hoare triple {5385#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {5385#false} is VALID [2018-11-23 11:21:57,142 INFO L273 TraceCheckUtils]: 69: Hoare triple {5385#false} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {5385#false} is VALID [2018-11-23 11:21:57,142 INFO L273 TraceCheckUtils]: 70: Hoare triple {5385#false} #res := ~len~0; {5385#false} is VALID [2018-11-23 11:21:57,142 INFO L273 TraceCheckUtils]: 71: Hoare triple {5385#false} assume true; {5385#false} is VALID [2018-11-23 11:21:57,143 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {5385#false} {5385#false} #197#return; {5385#false} is VALID [2018-11-23 11:21:57,143 INFO L273 TraceCheckUtils]: 73: Hoare triple {5385#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {5385#false} is VALID [2018-11-23 11:21:57,143 INFO L273 TraceCheckUtils]: 74: Hoare triple {5385#false} assume !(~i~0 == ~count~0); {5385#false} is VALID [2018-11-23 11:21:57,143 INFO L273 TraceCheckUtils]: 75: Hoare triple {5385#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {5385#false} is VALID [2018-11-23 11:21:57,143 INFO L273 TraceCheckUtils]: 76: Hoare triple {5385#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {5385#false} is VALID [2018-11-23 11:21:57,143 INFO L273 TraceCheckUtils]: 77: Hoare triple {5385#false} assume !false; {5385#false} is VALID [2018-11-23 11:21:57,148 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 28 proven. 7 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:57,148 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:57,793 INFO L273 TraceCheckUtils]: 77: Hoare triple {5385#false} assume !false; {5385#false} is VALID [2018-11-23 11:21:57,794 INFO L273 TraceCheckUtils]: 76: Hoare triple {5385#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {5385#false} is VALID [2018-11-23 11:21:57,794 INFO L273 TraceCheckUtils]: 75: Hoare triple {5385#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {5385#false} is VALID [2018-11-23 11:21:57,794 INFO L273 TraceCheckUtils]: 74: Hoare triple {5385#false} assume !(~i~0 == ~count~0); {5385#false} is VALID [2018-11-23 11:21:57,794 INFO L273 TraceCheckUtils]: 73: Hoare triple {5385#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {5385#false} is VALID [2018-11-23 11:21:57,794 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {5384#true} {5385#false} #197#return; {5385#false} is VALID [2018-11-23 11:21:57,795 INFO L273 TraceCheckUtils]: 71: Hoare triple {5384#true} assume true; {5384#true} is VALID [2018-11-23 11:21:57,795 INFO L273 TraceCheckUtils]: 70: Hoare triple {5384#true} #res := ~len~0; {5384#true} is VALID [2018-11-23 11:21:57,795 INFO L273 TraceCheckUtils]: 69: Hoare triple {5384#true} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {5384#true} is VALID [2018-11-23 11:21:57,795 INFO L273 TraceCheckUtils]: 68: Hoare triple {5384#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {5384#true} is VALID [2018-11-23 11:21:57,796 INFO L256 TraceCheckUtils]: 67: Hoare triple {5385#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {5384#true} is VALID [2018-11-23 11:21:57,796 INFO L273 TraceCheckUtils]: 66: Hoare triple {5385#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {5385#false} is VALID [2018-11-23 11:21:57,796 INFO L273 TraceCheckUtils]: 65: Hoare triple {5385#false} assume !~bvsgt32(~i~0, ~max~0); {5385#false} is VALID [2018-11-23 11:21:57,796 INFO L273 TraceCheckUtils]: 64: Hoare triple {5385#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {5385#false} is VALID [2018-11-23 11:21:57,796 INFO L273 TraceCheckUtils]: 63: Hoare triple {5385#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {5385#false} is VALID [2018-11-23 11:21:57,797 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5384#true} {5385#false} #195#return; {5385#false} is VALID [2018-11-23 11:21:57,797 INFO L273 TraceCheckUtils]: 61: Hoare triple {5384#true} assume true; {5384#true} is VALID [2018-11-23 11:21:57,797 INFO L273 TraceCheckUtils]: 60: Hoare triple {5384#true} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {5384#true} is VALID [2018-11-23 11:21:57,797 INFO L273 TraceCheckUtils]: 59: Hoare triple {5384#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5384#true} is VALID [2018-11-23 11:21:57,797 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {5384#true} {5384#true} #201#return; {5384#true} is VALID [2018-11-23 11:21:57,797 INFO L273 TraceCheckUtils]: 57: Hoare triple {5384#true} assume true; {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 56: Hoare triple {5384#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {5384#true} {5384#true} #211#return; {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 54: Hoare triple {5384#true} assume true; {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 53: Hoare triple {5384#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 52: Hoare triple {5384#true} assume !~bvsgt32(~len, 0bv32); {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 51: Hoare triple {5384#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 50: Hoare triple {5384#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5384#true} is VALID [2018-11-23 11:21:57,798 INFO L273 TraceCheckUtils]: 49: Hoare triple {5384#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 48: Hoare triple {5384#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 47: Hoare triple {5384#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 46: Hoare triple {5384#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 45: Hoare triple {5384#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 44: Hoare triple {5384#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 43: Hoare triple {5384#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L273 TraceCheckUtils]: 42: Hoare triple {5384#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5384#true} is VALID [2018-11-23 11:21:57,799 INFO L256 TraceCheckUtils]: 41: Hoare triple {5384#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5384#true} is VALID [2018-11-23 11:21:57,800 INFO L273 TraceCheckUtils]: 40: Hoare triple {5384#true} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {5384#true} is VALID [2018-11-23 11:21:57,800 INFO L273 TraceCheckUtils]: 39: Hoare triple {5384#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5384#true} is VALID [2018-11-23 11:21:57,800 INFO L256 TraceCheckUtils]: 38: Hoare triple {5384#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5384#true} is VALID [2018-11-23 11:21:57,800 INFO L273 TraceCheckUtils]: 37: Hoare triple {5384#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5384#true} is VALID [2018-11-23 11:21:57,800 INFO L256 TraceCheckUtils]: 36: Hoare triple {5385#false} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {5384#true} is VALID [2018-11-23 11:21:57,800 INFO L273 TraceCheckUtils]: 35: Hoare triple {5385#false} assume !~bvsle32(~i~0, ~max~0); {5385#false} is VALID [2018-11-23 11:21:57,800 INFO L273 TraceCheckUtils]: 34: Hoare triple {5385#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5385#false} is VALID [2018-11-23 11:21:57,800 INFO L273 TraceCheckUtils]: 33: Hoare triple {5385#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5385#false} is VALID [2018-11-23 11:21:57,801 INFO L273 TraceCheckUtils]: 32: Hoare triple {5385#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {5385#false} is VALID [2018-11-23 11:21:57,801 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} {5767#(bvsgt main_~i~0 (_ bv0 32))} #193#return; {5385#false} is VALID [2018-11-23 11:21:57,802 INFO L273 TraceCheckUtils]: 30: Hoare triple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume true; {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,802 INFO L273 TraceCheckUtils]: 29: Hoare triple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,802 INFO L273 TraceCheckUtils]: 28: Hoare triple {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,803 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} {5783#(or (bvsgt sll_append_~sublist_length (_ bv0 32)) (not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32))))} #201#return; {5478#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,803 INFO L273 TraceCheckUtils]: 26: Hoare triple {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} assume true; {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,804 INFO L273 TraceCheckUtils]: 25: Hoare triple {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,804 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} {5796#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} #211#return; {5468#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,805 INFO L273 TraceCheckUtils]: 23: Hoare triple {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} assume true; {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,805 INFO L273 TraceCheckUtils]: 22: Hoare triple {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,806 INFO L273 TraceCheckUtils]: 21: Hoare triple {5809#(or (not (bvsgt |sll_create_#in~len| (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} assume !~bvsgt32(~len, 0bv32); {5458#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:57,806 INFO L273 TraceCheckUtils]: 20: Hoare triple {5384#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5809#(or (not (bvsgt |sll_create_#in~len| (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} is VALID [2018-11-23 11:21:57,807 INFO L256 TraceCheckUtils]: 19: Hoare triple {5796#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5384#true} is VALID [2018-11-23 11:21:57,807 INFO L273 TraceCheckUtils]: 18: Hoare triple {5796#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {5796#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} is VALID [2018-11-23 11:21:57,808 INFO L273 TraceCheckUtils]: 17: Hoare triple {5384#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5796#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} is VALID [2018-11-23 11:21:57,808 INFO L256 TraceCheckUtils]: 16: Hoare triple {5783#(or (bvsgt sll_append_~sublist_length (_ bv0 32)) (not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32))))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5384#true} is VALID [2018-11-23 11:21:57,810 INFO L273 TraceCheckUtils]: 15: Hoare triple {5384#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5783#(or (bvsgt sll_append_~sublist_length (_ bv0 32)) (not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32))))} is VALID [2018-11-23 11:21:57,810 INFO L256 TraceCheckUtils]: 14: Hoare triple {5767#(bvsgt main_~i~0 (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {5384#true} is VALID [2018-11-23 11:21:57,811 INFO L273 TraceCheckUtils]: 13: Hoare triple {5767#(bvsgt main_~i~0 (_ bv0 32))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5767#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:57,811 INFO L273 TraceCheckUtils]: 12: Hoare triple {5767#(bvsgt main_~i~0 (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5767#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:57,812 INFO L273 TraceCheckUtils]: 11: Hoare triple {5831#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5767#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:57,813 INFO L273 TraceCheckUtils]: 10: Hoare triple {5831#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5831#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,814 INFO L273 TraceCheckUtils]: 9: Hoare triple {5831#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5831#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,817 INFO L273 TraceCheckUtils]: 8: Hoare triple {5841#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5831#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,817 INFO L273 TraceCheckUtils]: 7: Hoare triple {5841#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5841#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,818 INFO L273 TraceCheckUtils]: 6: Hoare triple {5841#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5841#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,818 INFO L273 TraceCheckUtils]: 5: Hoare triple {5384#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {5841#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:57,819 INFO L256 TraceCheckUtils]: 4: Hoare triple {5384#true} call #t~ret25 := main(); {5384#true} is VALID [2018-11-23 11:21:57,819 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5384#true} {5384#true} #205#return; {5384#true} is VALID [2018-11-23 11:21:57,819 INFO L273 TraceCheckUtils]: 2: Hoare triple {5384#true} assume true; {5384#true} is VALID [2018-11-23 11:21:57,819 INFO L273 TraceCheckUtils]: 1: Hoare triple {5384#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5384#true} is VALID [2018-11-23 11:21:57,819 INFO L256 TraceCheckUtils]: 0: Hoare triple {5384#true} call ULTIMATE.init(); {5384#true} is VALID [2018-11-23 11:21:57,823 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 11:21:57,825 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:57,826 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2018-11-23 11:21:57,826 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 78 [2018-11-23 11:21:57,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:57,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 11:21:57,981 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:57,981 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 11:21:57,982 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 11:21:57,982 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=226, Unknown=0, NotChecked=0, Total=272 [2018-11-23 11:21:57,982 INFO L87 Difference]: Start difference. First operand 115 states and 152 transitions. Second operand 17 states. [2018-11-23 11:22:03,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:03,650 INFO L93 Difference]: Finished difference Result 358 states and 512 transitions. [2018-11-23 11:22:03,650 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 11:22:03,650 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 78 [2018-11-23 11:22:03,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:03,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:22:03,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 262 transitions. [2018-11-23 11:22:03,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:22:03,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 262 transitions. [2018-11-23 11:22:03,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 262 transitions. [2018-11-23 11:22:04,079 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 262 edges. 262 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:04,092 INFO L225 Difference]: With dead ends: 358 [2018-11-23 11:22:04,093 INFO L226 Difference]: Without dead ends: 261 [2018-11-23 11:22:04,098 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 141 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=77, Invalid=385, Unknown=0, NotChecked=0, Total=462 [2018-11-23 11:22:04,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 261 states. [2018-11-23 11:22:05,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 261 to 170. [2018-11-23 11:22:05,276 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:05,276 INFO L82 GeneralOperation]: Start isEquivalent. First operand 261 states. Second operand 170 states. [2018-11-23 11:22:05,277 INFO L74 IsIncluded]: Start isIncluded. First operand 261 states. Second operand 170 states. [2018-11-23 11:22:05,277 INFO L87 Difference]: Start difference. First operand 261 states. Second operand 170 states. [2018-11-23 11:22:05,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:05,291 INFO L93 Difference]: Finished difference Result 261 states and 376 transitions. [2018-11-23 11:22:05,291 INFO L276 IsEmpty]: Start isEmpty. Operand 261 states and 376 transitions. [2018-11-23 11:22:05,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:05,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:05,294 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand 261 states. [2018-11-23 11:22:05,294 INFO L87 Difference]: Start difference. First operand 170 states. Second operand 261 states. [2018-11-23 11:22:05,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:05,307 INFO L93 Difference]: Finished difference Result 261 states and 376 transitions. [2018-11-23 11:22:05,307 INFO L276 IsEmpty]: Start isEmpty. Operand 261 states and 376 transitions. [2018-11-23 11:22:05,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:05,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:05,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:05,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:05,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 170 states. [2018-11-23 11:22:05,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 170 states and 242 transitions. [2018-11-23 11:22:05,317 INFO L78 Accepts]: Start accepts. Automaton has 170 states and 242 transitions. Word has length 78 [2018-11-23 11:22:05,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:05,317 INFO L480 AbstractCegarLoop]: Abstraction has 170 states and 242 transitions. [2018-11-23 11:22:05,317 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 11:22:05,317 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 242 transitions. [2018-11-23 11:22:05,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-23 11:22:05,319 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:05,319 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-23 11:22:05,319 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:05,319 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:05,319 INFO L82 PathProgramCache]: Analyzing trace with hash -1521291494, now seen corresponding path program 1 times [2018-11-23 11:22:05,320 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:05,320 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:22:05,352 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:05,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:05,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:05,617 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:05,653 INFO L478 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-23 11:22:05,655 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:05,661 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:05,661 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:22:05,665 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:05,665 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_163|]. (and (= (store |v_#valid_163| |main_~#head~1.base| (_ bv1 1)) |#valid|) (= |main_~#head~1.offset| (_ bv0 32))) [2018-11-23 11:22:05,665 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|))) [2018-11-23 11:22:07,794 WARN L854 $PredicateComparison]: unable to prove that (exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (store |c_old(#valid)| sll_create_~head~0.base (_ bv1 1)) |c_#valid|) (= (select |c_old(#valid)| sll_create_~head~0.base) (_ bv0 1)))) is different from true [2018-11-23 11:22:11,444 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 17 [2018-11-23 11:22:13,009 WARN L180 SmtUtils]: Spent 1.15 s on a formula simplification that was a NOOP. DAG size: 17 [2018-11-23 11:22:17,095 INFO L478 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-23 11:22:17,101 INFO L478 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-23 11:22:17,103 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:17,107 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:17,129 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:22:17,129 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:35, output treesize:32 [2018-11-23 11:22:17,140 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:17,140 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_165|, v_sll_create_~head~0.base_74, v_subst_1]. (and (not (= (_ bv0 32) v_sll_create_~head~0.base_74)) (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (store |v_#memory_$Pointer$.base_165| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_165| sll_create_~head~0.base) (_ bv0 32) v_sll_create_~head~0.base_74)) |#memory_$Pointer$.base|) (= (_ bv0 1) (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) v_sll_create_~head~0.base_74 (_ bv1 1)) sll_create_~head~0.base)) (= (_ bv0 32) sll_create_~head~0.offset)) [2018-11-23 11:22:17,140 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_1]. (let ((.cse0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (not (= .cse0 (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) .cse0 (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))) [2018-11-23 11:22:19,418 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:19,441 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:19,442 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 58 [2018-11-23 11:22:19,452 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 25 [2018-11-23 11:22:19,464 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:19,468 INFO L478 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 25 treesize of output 31 [2018-11-23 11:22:19,470 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:19,491 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:19,521 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:19,579 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 11:22:19,586 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:22:19,593 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:19,594 INFO L478 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 16 treesize of output 23 [2018-11-23 11:22:19,595 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:19,608 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:19,620 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:19,669 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-23 11:22:19,670 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:79, output treesize:88 [2018-11-23 11:22:21,833 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:21,834 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_subst_1, |v_#memory_$Pointer$.base_166|, |v_node_create_with_sublist_#t~ret5.base_67|, |v_#memory_$Pointer$.offset_163|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.base_166| |v_node_create_with_sublist_#t~ret5.base_67|) (_ bv0 32))) (.cse1 (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1))) (.cse2 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (not (= (_ bv0 32) .cse0)) (= (_ bv0 1) (select (store (store .cse1 v_subst_1 (_ bv1 1)) .cse0 (_ bv1 1)) |v_node_create_with_sublist_#t~ret5.base_67|)) (= (_ bv0 1) (select .cse1 v_subst_1)) (= (store |v_#memory_$Pointer$.base_166| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.base_166| |node_create_with_sublist_#res.base|) .cse2 |v_node_create_with_sublist_#t~ret5.base_67|) |node_create_with_sublist_#res.offset| (_ bv0 32))) |#memory_$Pointer$.base|) (= (store |v_#memory_$Pointer$.offset_163| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.offset_163| |node_create_with_sublist_#res.base|) .cse2 (_ bv0 32)) |node_create_with_sublist_#res.offset| (_ bv0 32))) |#memory_$Pointer$.offset|) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))) [2018-11-23 11:22:21,834 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_1]. (let ((.cse0 (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|)) (.cse5 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (let ((.cse3 (select .cse0 .cse5))) (let ((.cse1 (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1))) (.cse2 (select (select |#memory_$Pointer$.base| .cse3) (_ bv0 32))) (.cse4 (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (select .cse0 |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (_ bv0 1) (select .cse1 v_subst_1)) (= (_ bv0 1) (select (store (store .cse1 v_subst_1 (_ bv1 1)) .cse2 (_ bv1 1)) .cse3)) (= (select .cse4 |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) .cse2)) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)) (= (_ bv0 32) (select .cse4 .cse5)))))) [2018-11-23 11:22:24,388 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:24,392 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:24,396 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:24,396 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:24,397 INFO L478 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 57 treesize of output 73 [2018-11-23 11:22:24,492 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 76 treesize of output 92 [2018-11-23 11:22:24,501 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:22:24,550 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:22:24,680 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:24,681 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 24 [2018-11-23 11:22:24,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 22 [2018-11-23 11:22:24,729 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,783 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,856 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 11:22:24,856 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:108, output treesize:102 [2018-11-23 11:22:25,151 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification. DAG size of input: 50 DAG size of output: 44 [2018-11-23 11:22:25,218 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:25,242 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:25,335 INFO L478 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 4 new quantified variables, introduced 6 case distinctions, treesize of input 57 treesize of output 87 [2018-11-23 11:22:25,460 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 67 treesize of output 94 [2018-11-23 11:22:25,492 INFO L267 ElimStorePlain]: Start of recursive call 3: 6 dim-0 vars, End of recursive call: 6 dim-0 vars, and 7 xjuncts. [2018-11-23 11:22:26,029 INFO L478 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 54 treesize of output 53 [2018-11-23 11:22:26,032 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:26,167 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:26,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 49 treesize of output 63 [2018-11-23 11:22:26,212 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 11:22:26,392 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: 1 dim-0 vars, and 3 xjuncts. [2018-11-23 11:22:26,622 INFO L478 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 3 case distinctions, treesize of input 26 treesize of output 36 [2018-11-23 11:22:26,643 INFO L478 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 25 [2018-11-23 11:22:26,646 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:26,736 INFO L478 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 23 treesize of output 22 [2018-11-23 11:22:26,738 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:26,779 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:26,924 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: 4 dim-0 vars, and 3 xjuncts. [2018-11-23 11:22:26,925 INFO L202 ElimStorePlain]: Needed 8 recursive calls to eliminate 4 variables, input treesize:99, output treesize:342 [2018-11-23 11:22:28,788 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:28,789 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_168|, sll_append_~new_last~0.base, |v_#memory_$Pointer$.offset_165|, v_subst_1]. (let ((.cse4 (select |v_#memory_$Pointer$.base_168| sll_append_~new_last~0.base))) (let ((.cse3 (select .cse4 (_ bv4 32)))) (let ((.cse1 (select (select |v_#memory_$Pointer$.base_168| .cse3) (_ bv0 32))) (.cse0 (select |v_#memory_$Pointer$.offset_165| sll_append_~new_last~0.base)) (.cse2 (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)))) (and (not (= sll_append_~new_last~0.base (_ bv0 32))) (= (_ bv0 32) (select .cse0 (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (not (= (_ bv0 32) .cse1)) (= (store |v_#memory_$Pointer$.base_168| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.base_168| |sll_append_#in~head.base|) |sll_append_#in~head.offset| sll_append_~new_last~0.base)) |#memory_$Pointer$.base|) (= (select (store (store .cse2 v_subst_1 (_ bv1 1)) .cse1 (_ bv1 1)) .cse3) (_ bv0 1)) (= (select .cse4 (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select .cse0 (_ bv4 32))) (= (select .cse2 v_subst_1) (_ bv0 1)) (= |#memory_$Pointer$.offset| (store |v_#memory_$Pointer$.offset_165| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.offset_165| |sll_append_#in~head.base|) |sll_append_#in~head.offset| (_ bv0 32)))))))) [2018-11-23 11:22:28,789 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_1, v_prenex_8, v_prenex_11, v_prenex_10]. (let ((.cse9 (select |#memory_$Pointer$.base| |sll_append_#in~head.base|))) (let ((.cse14 (select .cse9 |sll_append_#in~head.offset|))) (let ((.cse15 (select |#memory_$Pointer$.offset| .cse14))) (let ((.cse4 (= .cse14 |sll_append_#in~head.base|)) (.cse0 (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (.cse1 (= (_ bv0 32) (select .cse15 (_ bv0 32)))) (.cse3 (= (_ bv0 1) (select |old(#valid)| .cse14))) (.cse7 (= (select .cse15 (_ bv4 32)) (_ bv0 32))) (.cse8 (not (= (_ bv0 32) .cse14))) (.cse5 (store |old(#valid)| .cse14 (_ bv1 1)))) (or (let ((.cse6 (select .cse9 (_ bv4 32)))) (let ((.cse2 (select (select |#memory_$Pointer$.base| .cse6) (_ bv0 32)))) (and .cse0 .cse1 (not (= .cse2 (_ bv0 32))) .cse3 .cse4 (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (store (store .cse5 v_prenex_11 (_ bv1 1)) .cse2 (_ bv1 1)) .cse6) (_ bv0 1)) (= (select .cse5 v_prenex_11) (_ bv0 1)) .cse7 .cse8))) (let ((.cse10 (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) .cse0 .cse1 .cse3 .cse4 (= (select .cse9 (_ bv0 32)) (_ bv0 32)) (= (select .cse5 v_subst_1) (_ bv0 1)) (not (= (_ bv0 32) .cse10)) .cse7 .cse8 (= (select (store (store .cse5 v_subst_1 (_ bv1 1)) .cse10 (_ bv1 1)) v_prenex_8) (_ bv0 1)))) (let ((.cse12 (select |#memory_$Pointer$.base| .cse14))) (let ((.cse13 (select .cse12 (_ bv4 32)))) (let ((.cse11 (select (select |#memory_$Pointer$.base| .cse13) (_ bv0 32)))) (and .cse0 .cse1 (not (= .cse11 (_ bv0 32))) .cse3 (= (select .cse5 v_prenex_10) (_ bv0 1)) (= (_ bv0 32) (select .cse12 (_ bv0 32))) .cse7 .cse8 (= (select (store (store .cse5 v_prenex_10 (_ bv1 1)) .cse11 (_ bv1 1)) .cse13) (_ bv0 1))))))))))) [2018-11-23 11:22:30,319 WARN L180 SmtUtils]: Spent 366.00 ms on a formula simplification. DAG size of input: 78 DAG size of output: 78 [2018-11-23 11:22:30,605 WARN L180 SmtUtils]: Spent 133.00 ms on a formula simplification. DAG size of input: 94 DAG size of output: 45 [2018-11-23 11:22:30,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:30,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:30,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:30,625 INFO L478 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 58 treesize of output 77 [2018-11-23 11:22:30,643 INFO L478 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 57 treesize of output 74 [2018-11-23 11:22:30,739 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:30,741 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:30,741 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:30,743 INFO L478 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 34 treesize of output 61 [2018-11-23 11:22:30,745 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:30,771 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:30,798 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:30,855 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:30,856 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 7 variables, input treesize:349, output treesize:104 [2018-11-23 11:22:30,873 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:30,874 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_13, v_subst_1, v_prenex_8, |v_old(#valid)_AFTER_CALL_81|, v_prenex_11, v_prenex_12, v_prenex_10]. (let ((.cse9 (select |#memory_$Pointer$.base| |main_~#head~1.base|))) (let ((.cse4 (select .cse9 |main_~#head~1.offset|))) (let ((.cse16 (select |#memory_$Pointer$.offset| .cse4))) (let ((.cse6 (= |main_~#head~1.base| .cse4)) (.cse0 (= (select .cse16 (_ bv0 32)) (_ bv0 32))) (.cse2 (not (= .cse4 (_ bv0 32)))) (.cse5 (= |main_~#head~1.offset| (_ bv0 32))) (.cse7 (= (_ bv0 32) (select .cse16 (_ bv4 32))))) (or (let ((.cse8 (select .cse9 (_ bv4 32)))) (let ((.cse3 (store |v_old(#valid)_AFTER_CALL_81| .cse4 (_ bv1 1))) (.cse1 (select (select |#memory_$Pointer$.base| .cse8) (_ bv0 32)))) (and .cse0 (not (= .cse1 (_ bv0 32))) .cse2 (= (_ bv1 1) (select |v_old(#valid)_AFTER_CALL_81| |main_~#head~1.base|)) (= (_ bv0 1) (select .cse3 v_prenex_11)) (= (select |v_old(#valid)_AFTER_CALL_81| .cse4) (_ bv0 1)) .cse5 .cse6 .cse7 (= (select (store (store .cse3 v_prenex_11 (_ bv1 1)) .cse1 (_ bv1 1)) .cse8) (_ bv0 1))))) (let ((.cse10 (store v_prenex_13 .cse4 (_ bv1 1))) (.cse11 (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)))) (and .cse0 .cse2 (= (_ bv0 1) (select .cse10 v_subst_1)) (= (select v_prenex_13 .cse4) (_ bv0 1)) (= (_ bv0 1) (select (store (store .cse10 v_subst_1 (_ bv1 1)) .cse11 (_ bv1 1)) v_prenex_8)) (not (= (_ bv0 32) .cse11)) .cse5 .cse6 .cse7 (= (_ bv1 1) (select v_prenex_13 |main_~#head~1.base|)) (= |main_~#head~1.offset| (_ bv4 32)) (= (select .cse9 (_ bv0 32)) (_ bv0 32)))) (let ((.cse15 (select |#memory_$Pointer$.base| .cse4))) (let ((.cse14 (select .cse15 (_ bv4 32)))) (let ((.cse13 (store v_prenex_12 .cse4 (_ bv1 1))) (.cse12 (select (select |#memory_$Pointer$.base| .cse14) (_ bv0 32)))) (and .cse0 .cse2 (= (_ bv1 1) (select v_prenex_12 |main_~#head~1.base|)) (= (select v_prenex_12 .cse4) (_ bv0 1)) .cse5 (not (= (_ bv0 32) .cse12)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) .cse7 (= (_ bv0 1) (select .cse13 v_prenex_10)) (= (_ bv0 1) (select (store (store .cse13 v_prenex_10 (_ bv1 1)) .cse12 (_ bv1 1)) .cse14)) (= (select .cse15 (_ bv0 32)) (_ bv0 32))))))))))) [2018-11-23 11:22:30,874 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (let ((.cse4 (select |#memory_$Pointer$.base| .cse2))) (let ((.cse0 (select .cse4 (_ bv4 32)))) (let ((.cse3 (select (select |#memory_$Pointer$.base| .cse0) (_ bv0 32))) (.cse1 (select |#memory_$Pointer$.offset| .cse2))) (and (not (= |main_~#head~1.base| .cse0)) (= (select .cse1 (_ bv0 32)) (_ bv0 32)) (not (= .cse2 (_ bv0 32))) (not (= .cse0 .cse3)) (= |main_~#head~1.offset| (_ bv0 32)) (not (= (_ bv0 32) .cse3)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (_ bv0 32) (select .cse1 (_ bv4 32))) (= (select .cse4 (_ bv0 32)) (_ bv0 32))))))) [2018-11-23 11:22:33,072 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:33,076 INFO L478 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 64 treesize of output 48 [2018-11-23 11:22:33,096 INFO L478 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 30 treesize of output 17 [2018-11-23 11:22:33,129 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:33,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 3 [2018-11-23 11:22:33,159 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:33,169 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:33,196 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-23 11:22:33,197 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:135, output treesize:86 [2018-11-23 11:22:33,208 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:33,209 WARN L384 uantifierElimination]: Input elimination task: ∃ [|main_~#head~1.base|, |#memory_$Pointer$.offset|]. (let ((.cse6 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse2 (select |#memory_$Pointer$.base| .cse6))) (let ((.cse0 (select .cse2 (_ bv4 32))) (.cse4 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse3 (bvadd .cse4 (_ bv4 32))) (.cse1 (select (select |#memory_$Pointer$.base| .cse0) (_ bv0 32))) (.cse5 (select |#memory_$Pointer$.offset| .cse6))) (and (not (= .cse0 .cse1)) (= |main_#t~mem20.base| (select .cse2 .cse3)) (= .cse4 (_ bv0 32)) (= (select .cse2 (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| .cse0)) (= (select .cse5 (_ bv4 32)) (_ bv0 32)) (not (= .cse6 (_ bv0 32))) (= (select .cse5 .cse3) |main_#t~mem20.offset|) (not (= (_ bv0 32) .cse1)) (= (_ bv0 32) (select .cse5 (_ bv0 32)))))))) [2018-11-23 11:22:33,209 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#head~1.base|]. (let ((.cse3 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse2 (select |#memory_$Pointer$.base| .cse3))) (let ((.cse0 (select .cse2 (_ bv4 32)))) (let ((.cse1 (select (select |#memory_$Pointer$.base| .cse0) (_ bv0 32)))) (and (= |main_#t~mem20.base| .cse0) (not (= .cse0 .cse1)) (= (select .cse2 (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) |main_#t~mem20.offset|) (not (= |main_~#head~1.base| .cse0)) (not (= .cse3 (_ bv0 32))) (not (= (_ bv0 32) .cse1))))))) [2018-11-23 11:22:37,261 INFO L256 TraceCheckUtils]: 0: Hoare triple {7139#true} call ULTIMATE.init(); {7139#true} is VALID [2018-11-23 11:22:37,262 INFO L273 TraceCheckUtils]: 1: Hoare triple {7139#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7139#true} is VALID [2018-11-23 11:22:37,262 INFO L273 TraceCheckUtils]: 2: Hoare triple {7139#true} assume true; {7139#true} is VALID [2018-11-23 11:22:37,262 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7139#true} {7139#true} #205#return; {7139#true} is VALID [2018-11-23 11:22:37,263 INFO L256 TraceCheckUtils]: 4: Hoare triple {7139#true} call #t~ret25 := main(); {7139#true} is VALID [2018-11-23 11:22:37,265 INFO L273 TraceCheckUtils]: 5: Hoare triple {7139#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,265 INFO L273 TraceCheckUtils]: 6: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,266 INFO L273 TraceCheckUtils]: 7: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,267 INFO L273 TraceCheckUtils]: 8: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,268 INFO L273 TraceCheckUtils]: 9: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,268 INFO L273 TraceCheckUtils]: 10: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,269 INFO L273 TraceCheckUtils]: 11: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,270 INFO L273 TraceCheckUtils]: 12: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,271 INFO L273 TraceCheckUtils]: 13: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,271 INFO L273 TraceCheckUtils]: 14: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,272 INFO L273 TraceCheckUtils]: 15: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !~bvsle32(~i~0, ~max~0); {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:37,273 INFO L256 TraceCheckUtils]: 16: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:22:37,274 INFO L273 TraceCheckUtils]: 17: Hoare triple {7193#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {7197#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} is VALID [2018-11-23 11:22:37,275 INFO L256 TraceCheckUtils]: 18: Hoare triple {7197#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:22:37,276 INFO L273 TraceCheckUtils]: 19: Hoare triple {7193#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:22:37,277 INFO L273 TraceCheckUtils]: 20: Hoare triple {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:22:37,278 INFO L256 TraceCheckUtils]: 21: Hoare triple {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:22:37,279 INFO L273 TraceCheckUtils]: 22: Hoare triple {7193#(= |#valid| |old(#valid)|)} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:22:37,280 INFO L273 TraceCheckUtils]: 23: Hoare triple {7193#(= |#valid| |old(#valid)|)} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7217#(and (= |#valid| (store |old(#valid)| sll_create_~new_head~0.base (_ bv1 1))) (= (_ bv0 1) (select |old(#valid)| sll_create_~new_head~0.base)))} is VALID [2018-11-23 11:22:37,281 INFO L273 TraceCheckUtils]: 24: Hoare triple {7217#(and (= |#valid| (store |old(#valid)| sll_create_~new_head~0.base (_ bv1 1))) (= (_ bv0 1) (select |old(#valid)| sll_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7217#(and (= |#valid| (store |old(#valid)| sll_create_~new_head~0.base (_ bv1 1))) (= (_ bv0 1) (select |old(#valid)| sll_create_~new_head~0.base)))} is VALID [2018-11-23 11:22:37,284 INFO L273 TraceCheckUtils]: 25: Hoare triple {7217#(and (= |#valid| (store |old(#valid)| sll_create_~new_head~0.base (_ bv1 1))) (= (_ bv0 1) (select |old(#valid)| sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {7224#(exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (store |old(#valid)| sll_create_~head~0.base (_ bv1 1)) |#valid|) (= (select |old(#valid)| sll_create_~head~0.base) (_ bv0 1))))} is VALID [2018-11-23 11:22:37,308 INFO L273 TraceCheckUtils]: 26: Hoare triple {7224#(exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (store |old(#valid)| sll_create_~head~0.base (_ bv1 1)) |#valid|) (= (select |old(#valid)| sll_create_~head~0.base) (_ bv0 1))))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7228#(and (exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (select |old(#valid)| sll_create_~head~0.base) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} is VALID [2018-11-23 11:22:37,309 INFO L273 TraceCheckUtils]: 27: Hoare triple {7228#(and (exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (select |old(#valid)| sll_create_~head~0.base) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7228#(and (exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (select |old(#valid)| sll_create_~head~0.base) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} is VALID [2018-11-23 11:22:37,310 INFO L273 TraceCheckUtils]: 28: Hoare triple {7228#(and (exists ((sll_create_~head~0.base (_ BitVec 32))) (and (= (select |old(#valid)| sll_create_~head~0.base) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {7235#(and (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| v_subst_1 (_ bv1 1)) sll_create_~head~0.base (_ bv1 1))))))} is VALID [2018-11-23 11:22:37,313 INFO L273 TraceCheckUtils]: 29: Hoare triple {7235#(and (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| v_subst_1 (_ bv1 1)) sll_create_~head~0.base (_ bv1 1))))))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7239#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)))))} is VALID [2018-11-23 11:22:37,314 INFO L273 TraceCheckUtils]: 30: Hoare triple {7239#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7239#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)))))} is VALID [2018-11-23 11:22:37,318 INFO L273 TraceCheckUtils]: 31: Hoare triple {7239#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {7246#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:22:37,319 INFO L273 TraceCheckUtils]: 32: Hoare triple {7246#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))) (= (_ bv0 32) sll_create_~head~0.offset))} assume !~bvsgt32(~len, 0bv32); {7246#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:22:37,320 INFO L273 TraceCheckUtils]: 33: Hoare triple {7246#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))) (= (_ bv0 32) sll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7253#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)))))} is VALID [2018-11-23 11:22:37,321 INFO L273 TraceCheckUtils]: 34: Hoare triple {7253#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)))))} assume true; {7253#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)))))} is VALID [2018-11-23 11:22:37,327 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {7253#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select |old(#valid)| v_subst_1) (_ bv0 1)) (= (select (store (store |old(#valid)| v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)))))} {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} #211#return; {7260#(and (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) v_subst_1)) (= (select (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)) (_ bv1 1)) |node_create_with_sublist_#t~ret5.base|) (_ bv0 1)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)))) (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (_ bv0 32) |node_create_with_sublist_#t~ret5.offset|) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:22:37,331 INFO L273 TraceCheckUtils]: 36: Hoare triple {7260#(and (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) v_subst_1)) (= (select (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)) (_ bv1 1)) |node_create_with_sublist_#t~ret5.base|) (_ bv0 1)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)))) (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (_ bv0 32) |node_create_with_sublist_#t~ret5.offset|) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {7264#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} is VALID [2018-11-23 11:22:37,334 INFO L273 TraceCheckUtils]: 37: Hoare triple {7264#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} assume true; {7264#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} is VALID [2018-11-23 11:22:37,336 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {7264#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} {7197#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} #201#return; {7271#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (_ bv4 32)) (_ bv0 32)) (= sll_append_~head.base |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) v_subst_1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32)))))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (not (= (_ bv0 32) |sll_append_#t~ret8.base|)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:22:37,344 INFO L273 TraceCheckUtils]: 39: Hoare triple {7271#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (_ bv4 32)) (_ bv0 32)) (= sll_append_~head.base |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) v_subst_1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32)))))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (not (= (_ bv0 32) |sll_append_#t~ret8.base|)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (_ bv4 32))) (_ bv0 32)))))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {7275#(and (not (= sll_append_~new_last~0.base (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (_ bv4 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select (store (store (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 1)) (= (select (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_subst_1) (_ bv0 1)))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:22:37,654 INFO L273 TraceCheckUtils]: 40: Hoare triple {7275#(and (not (= sll_append_~new_last~0.base (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (_ bv4 32))) (exists ((v_subst_1 (_ BitVec 32))) (and (= (select (store (store (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 1)) (= (select (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_subst_1) (_ bv0 1)))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {7279#(or (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32)) (v_prenex_8 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1) (_ bv0 1)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)) (_ bv1 1)) v_prenex_8) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_11 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (exists ((v_prenex_10 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} is VALID [2018-11-23 11:22:37,655 INFO L273 TraceCheckUtils]: 41: Hoare triple {7279#(or (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32)) (v_prenex_8 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1) (_ bv0 1)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)) (_ bv1 1)) v_prenex_8) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_11 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (exists ((v_prenex_10 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} assume true; {7279#(or (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32)) (v_prenex_8 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1) (_ bv0 1)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)) (_ bv1 1)) v_prenex_8) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_11 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (exists ((v_prenex_10 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} is VALID [2018-11-23 11:22:37,663 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7279#(or (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_subst_1 (_ BitVec 32)) (v_prenex_8 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1) (_ bv0 1)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_subst_1 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_8) (_ bv0 32)) (_ bv1 1)) v_prenex_8) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_11 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_11 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (exists ((v_prenex_10 (_ BitVec 32))) (and (= (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10) (_ bv0 1)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_10 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #195#return; {7286#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:37,666 INFO L273 TraceCheckUtils]: 43: Hoare triple {7286#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {7290#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset)))} is VALID [2018-11-23 11:22:37,666 INFO L273 TraceCheckUtils]: 44: Hoare triple {7290#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset)))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {7290#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset)))} is VALID [2018-11-23 11:22:37,667 INFO L273 TraceCheckUtils]: 45: Hoare triple {7290#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset)))} assume !~bvsgt32(~i~0, ~max~0); {7290#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset)))} is VALID [2018-11-23 11:22:37,671 INFO L273 TraceCheckUtils]: 46: Hoare triple {7290#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset)))} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {7300#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= |main_#t~mem20.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))) (= (_ bv0 32) |main_#t~mem20.offset|))} is VALID [2018-11-23 11:22:37,673 INFO L256 TraceCheckUtils]: 47: Hoare triple {7300#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= |main_#t~mem20.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))) (= (_ bv0 32) |main_#t~mem20.offset|))} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {7304#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} is VALID [2018-11-23 11:22:37,674 INFO L273 TraceCheckUtils]: 48: Hoare triple {7304#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {7308#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:22:37,675 INFO L273 TraceCheckUtils]: 49: Hoare triple {7308#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} assume !!(~head.base != 0bv32 || ~head.offset != 0bv32);#t~post6 := ~len~0;~len~0 := ~bvadd32(1bv32, #t~post6);havoc #t~post6;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~head.base, ~head.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {7312#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:22:37,685 INFO L273 TraceCheckUtils]: 50: Hoare triple {7312#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {7316#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:22:37,686 INFO L273 TraceCheckUtils]: 51: Hoare triple {7316#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} #res := ~len~0; {7316#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:22:37,698 INFO L273 TraceCheckUtils]: 52: Hoare triple {7316#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} assume true; {7316#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:22:37,700 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7316#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} {7300#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= |main_#t~mem20.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))) (= (_ bv0 32) |main_#t~mem20.offset|))} #197#return; {7140#false} is VALID [2018-11-23 11:22:37,700 INFO L273 TraceCheckUtils]: 54: Hoare triple {7140#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {7140#false} is VALID [2018-11-23 11:22:37,701 INFO L273 TraceCheckUtils]: 55: Hoare triple {7140#false} assume !(~i~0 == ~count~0); {7140#false} is VALID [2018-11-23 11:22:37,701 INFO L273 TraceCheckUtils]: 56: Hoare triple {7140#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {7140#false} is VALID [2018-11-23 11:22:37,701 INFO L273 TraceCheckUtils]: 57: Hoare triple {7140#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {7140#false} is VALID [2018-11-23 11:22:37,701 INFO L273 TraceCheckUtils]: 58: Hoare triple {7140#false} assume !false; {7140#false} is VALID [2018-11-23 11:22:37,731 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 8 refuted. 2 times theorem prover too weak. 12 trivial. 3 not checked. [2018-11-23 11:22:37,732 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:41,529 WARN L180 SmtUtils]: Spent 160.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:22:42,200 WARN L180 SmtUtils]: Spent 381.00 ms on a formula simplification that was a NOOP. DAG size: 75 [2018-11-23 11:22:42,460 WARN L180 SmtUtils]: Spent 255.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 11:22:42,799 WARN L180 SmtUtils]: Spent 336.00 ms on a formula simplification that was a NOOP. DAG size: 59 [2018-11-23 11:22:43,124 WARN L180 SmtUtils]: Spent 323.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-23 11:22:46,189 WARN L180 SmtUtils]: Spent 3.04 s on a formula simplification that was a NOOP. DAG size: 87 [2018-11-23 11:22:47,062 WARN L180 SmtUtils]: Spent 860.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:22:47,815 WARN L180 SmtUtils]: Spent 747.00 ms on a formula simplification that was a NOOP. DAG size: 64 [2018-11-23 11:22:48,477 WARN L180 SmtUtils]: Spent 659.00 ms on a formula simplification that was a NOOP. DAG size: 62 [2018-11-23 11:22:49,644 WARN L180 SmtUtils]: Spent 268.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 52 [2018-11-23 11:22:49,670 INFO L478 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 165 treesize of output 111 [2018-11-23 11:22:49,793 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:22:49,804 INFO L478 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 9 treesize of output 8 [2018-11-23 11:22:49,806 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:49,885 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:49,889 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:49,896 INFO L478 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 104 treesize of output 104 [2018-11-23 11:22:50,030 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 39 [2018-11-23 11:22:50,038 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 77 treesize of output 74 [2018-11-23 11:22:50,061 INFO L478 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 74 treesize of output 73 [2018-11-23 11:22:50,066 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:50,086 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:50,121 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,122 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,123 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:50,124 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,126 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,126 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,128 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 95 [2018-11-23 11:22:50,149 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:50,154 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,246 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 69 treesize of output 120 [2018-11-23 11:22:50,311 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:22:50,825 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,825 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,827 INFO L478 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 73 treesize of output 69 [2018-11-23 11:22:50,898 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 15 treesize of output 33 [2018-11-23 11:22:50,947 INFO L267 ElimStorePlain]: Start of recursive call 10: 5 dim-0 vars, End of recursive call: 5 dim-0 vars, and 7 xjuncts. [2018-11-23 11:22:50,985 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,986 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,989 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:50,990 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 48 treesize of output 79 [2018-11-23 11:22:51,016 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 2 xjuncts. [2018-11-23 11:22:51,065 INFO L267 ElimStorePlain]: Start of recursive call 9: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:51,073 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,074 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,075 INFO L478 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 72 treesize of output 68 [2018-11-23 11:22:51,143 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 17 treesize of output 35 [2018-11-23 11:22:51,160 INFO L267 ElimStorePlain]: Start of recursive call 13: 5 dim-0 vars, End of recursive call: 5 dim-0 vars, and 7 xjuncts. [2018-11-23 11:22:51,209 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,210 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,210 INFO L478 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 36 [2018-11-23 11:22:51,213 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,229 INFO L267 ElimStorePlain]: Start of recursive call 12: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,236 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,237 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,238 INFO L478 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 65 treesize of output 63 [2018-11-23 11:22:51,254 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,261 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,304 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 45 treesize of output 86 [2018-11-23 11:22:51,317 INFO L267 ElimStorePlain]: Start of recursive call 16: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:22:51,359 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,364 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 7 [2018-11-23 11:22:51,368 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,377 INFO L267 ElimStorePlain]: Start of recursive call 15: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,394 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,406 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-23 11:22:51,428 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-23 11:22:51,513 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 11:22:51,514 INFO L202 ElimStorePlain]: Needed 17 recursive calls to eliminate 6 variables, input treesize:207, output treesize:41 [2018-11-23 11:22:51,538 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:51,539 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_$Pointer$.base_192|, |v_sll_create_#res.base_58|, v_sll_create_~head~0.base_96, v_sll_append_~new_last~0.base_24, |v_#memory_$Pointer$.offset_184|, v_sll_create_~head~0.base_97]. (let ((.cse0 (store |#valid| v_sll_append_~new_last~0.base_24 (_ bv1 1)))) (or (not (= (select (store (store .cse0 v_sll_create_~head~0.base_97 (_ bv1 1)) v_sll_create_~head~0.base_96 (_ bv1 1)) |v_sll_create_#res.base_58|) (_ bv0 1))) (not (= (select |#valid| v_sll_append_~new_last~0.base_24) (_ bv0 1))) (not (= (_ bv0 32) (select (let ((.cse1 (let ((.cse2 (let ((.cse3 (store |v_#memory_$Pointer$.base_192| |v_sll_create_#res.base_58| (store (select |v_#memory_$Pointer$.base_192| |v_sll_create_#res.base_58|) (_ bv0 32) v_sll_create_~head~0.base_96)))) (store .cse3 v_sll_append_~new_last~0.base_24 (store (store (select .cse3 v_sll_append_~new_last~0.base_24) (_ bv4 32) |v_sll_create_#res.base_58|) (_ bv0 32) (_ bv0 32)))))) (store .cse2 |main_~#head~1.base| (store (select .cse2 |main_~#head~1.base|) |main_~#head~1.offset| v_sll_append_~new_last~0.base_24))))) (select .cse1 (select (select .cse1 v_sll_append_~new_last~0.base_24) (_ bv4 32)))) (select (select (let ((.cse4 (store |v_#memory_$Pointer$.offset_184| v_sll_append_~new_last~0.base_24 (store (store (select |v_#memory_$Pointer$.offset_184| v_sll_append_~new_last~0.base_24) (_ bv4 32) (_ bv0 32)) (_ bv0 32) (_ bv0 32))))) (store .cse4 |main_~#head~1.base| (store (select .cse4 |main_~#head~1.base|) |main_~#head~1.offset| (_ bv0 32)))) v_sll_append_~new_last~0.base_24) (_ bv4 32))))) (= (_ bv0 32) v_sll_create_~head~0.base_96) (= v_sll_append_~new_last~0.base_24 (_ bv0 32)) (not (= (_ bv0 1) (select .cse0 v_sll_create_~head~0.base_97))))) [2018-11-23 11:22:51,539 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_sll_create_~head~0.base_97, v_sll_create_~head~0.base_96, |v_sll_create_#res.base_58|]. (let ((.cse0 (store |#valid| |main_~#head~1.base| (_ bv1 1)))) (or (not (= (select .cse0 v_sll_create_~head~0.base_97) (_ bv0 1))) (not (= (_ bv0 1) (select |#valid| |main_~#head~1.base|))) (not (= (_ bv0 1) (select (store (store .cse0 v_sll_create_~head~0.base_97 (_ bv1 1)) v_sll_create_~head~0.base_96 (_ bv1 1)) |v_sll_create_#res.base_58|))) (not (= |main_~#head~1.offset| (_ bv4 32))) (= |main_~#head~1.base| (_ bv0 32)) (= (_ bv0 32) v_sll_create_~head~0.base_96))) [2018-11-23 11:22:51,759 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:22:51,759 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FPBP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:22:51,772 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:51,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:51,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:51,918 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:51,948 INFO L478 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-23 11:22:51,950 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,958 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:51,958 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:22:51,960 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:51,961 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_193|]. (and (= |main_~#head~1.offset| (_ bv0 32)) (= (store |v_#valid_193| |main_~#head~1.base| (_ bv1 1)) |#valid|)) [2018-11-23 11:22:51,961 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|))) [2018-11-23 11:22:52,718 WARN L854 $PredicateComparison]: unable to prove that (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |c_#valid| (store |c_old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |c_old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))) is different from true [2018-11-23 11:23:01,053 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 19 [2018-11-23 11:23:12,435 INFO L478 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-23 11:23:12,443 INFO L478 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-23 11:23:12,449 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:12,453 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:12,485 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:23:12,485 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:43, output treesize:44 [2018-11-23 11:23:12,495 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:23:12,495 WARN L384 uantifierElimination]: Input elimination task: ∃ [|sll_create_#t~malloc2.base|, v_sll_create_~head~0.base_98, |v_#memory_$Pointer$.base_194|]. (let ((.cse0 (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)))) (and (= (select (store .cse0 v_sll_create_~head~0.base_98 (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)) (= (store |v_#memory_$Pointer$.base_194| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_194| sll_create_~head~0.base) (_ bv0 32) v_sll_create_~head~0.base_98)) |#memory_$Pointer$.base|) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 1) (select .cse0 v_sll_create_~head~0.base_98)) (not (= (_ bv0 32) v_sll_create_~head~0.base_98)))) [2018-11-23 11:23:12,496 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|sll_create_#t~malloc2.base|]. (let ((.cse0 (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (.cse1 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)))) (and (= (select .cse0 .cse1) (_ bv0 1)) (= (select (store .cse0 .cse1 (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)) (not (= .cse1 (_ bv0 32))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (_ bv0 32) sll_create_~head~0.offset))) [2018-11-23 11:23:17,170 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:17,193 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:17,194 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 73 [2018-11-23 11:23:17,208 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 25 [2018-11-23 11:23:17,220 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:17,227 INFO L478 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 25 treesize of output 31 [2018-11-23 11:23:17,229 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:17,256 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:17,291 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:17,368 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 11:23:17,377 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:23:17,392 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:17,393 INFO L478 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 16 treesize of output 23 [2018-11-23 11:23:17,395 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:17,409 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:17,420 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:17,473 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-23 11:23:17,473 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:94, output treesize:109 [2018-11-23 11:23:19,623 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:23:19,624 WARN L384 uantifierElimination]: Input elimination task: ∃ [|sll_create_#t~malloc2.base|, |v_#memory_$Pointer$.base_195|, |v_node_create_with_sublist_#t~ret5.base_73|, |v_#memory_$Pointer$.offset_186|]. (let ((.cse3 (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)))) (let ((.cse0 (store .cse3 |sll_create_#t~malloc2.base| (_ bv1 1))) (.cse1 (select (select |v_#memory_$Pointer$.base_195| |v_node_create_with_sublist_#t~ret5.base_73|) (_ bv0 32))) (.cse2 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (select (store .cse0 .cse1 (_ bv1 1)) |v_node_create_with_sublist_#t~ret5.base_73|) (_ bv0 1)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_195| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.base_195| |node_create_with_sublist_#res.base|) .cse2 |v_node_create_with_sublist_#t~ret5.base_73|) |node_create_with_sublist_#res.offset| (_ bv0 32)))) (= (select .cse0 .cse1) (_ bv0 1)) (not (= (_ bv0 32) .cse1)) (= (store |v_#memory_$Pointer$.offset_186| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.offset_186| |node_create_with_sublist_#res.base|) .cse2 (_ bv0 32)) |node_create_with_sublist_#res.offset| (_ bv0 32))) |#memory_$Pointer$.offset|) (= (_ bv0 1) (select .cse3 |sll_create_#t~malloc2.base|)) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))))) [2018-11-23 11:23:19,624 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|sll_create_#t~malloc2.base|]. (let ((.cse2 (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|)) (.cse6 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (let ((.cse3 (select .cse2 .cse6)) (.cse5 (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)))) (let ((.cse0 (store .cse5 |sll_create_#t~malloc2.base| (_ bv1 1))) (.cse1 (select (select |#memory_$Pointer$.base| .cse3) (_ bv0 32))) (.cse4 (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (= (_ bv0 1) (select .cse0 .cse1)) (= (select .cse2 |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (_ bv0 1) (select (store .cse0 .cse1 (_ bv1 1)) .cse3)) (= (select .cse4 |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) .cse1)) (= (_ bv0 1) (select .cse5 |sll_create_#t~malloc2.base|)) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)) (= (_ bv0 32) (select .cse4 .cse6)))))) [2018-11-23 11:23:22,570 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:22,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:22,574 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:22,575 INFO L478 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 76 treesize of output 79 [2018-11-23 11:23:22,697 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 82 treesize of output 107 [2018-11-23 11:23:22,712 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 11:23:22,880 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 11:23:23,132 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:23,133 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 24 [2018-11-23 11:23:23,143 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 22 [2018-11-23 11:23:23,144 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:23,167 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:23,338 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2018-11-23 11:23:23,338 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:127, output treesize:250 [2018-11-23 11:23:26,022 WARN L180 SmtUtils]: Spent 170.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 46 [2018-11-23 11:23:26,065 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:26,089 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:26,166 INFO L478 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 4 new quantified variables, introduced 6 case distinctions, treesize of input 76 treesize of output 100 [2018-11-23 11:23:26,792 INFO L478 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 105 treesize of output 104 [2018-11-23 11:23:26,794 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:27,153 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:27,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 62 treesize of output 70 [2018-11-23 11:23:27,203 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:23:27,446 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:27,480 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 66 treesize of output 78 [2018-11-23 11:23:27,490 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 11:23:27,775 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 11:23:28,128 INFO L478 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 3 case distinctions, treesize of input 26 treesize of output 36 [2018-11-23 11:23:28,142 INFO L478 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 27 treesize of output 26 [2018-11-23 11:23:28,145 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:28,286 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:28,529 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: 6 dim-0 vars, and 4 xjuncts. [2018-11-23 11:23:28,530 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:118, output treesize:540 [2018-11-23 11:23:30,348 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:23:30,349 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_197|, sll_append_~new_last~0.base, |v_#memory_$Pointer$.offset_188|, v_prenex_25]. (let ((.cse5 (select |v_#memory_$Pointer$.base_197| sll_append_~new_last~0.base))) (let ((.cse4 (select .cse5 (_ bv4 32))) (.cse3 (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)))) (let ((.cse2 (store .cse3 v_prenex_25 (_ bv1 1))) (.cse1 (select (select |v_#memory_$Pointer$.base_197| .cse4) (_ bv0 32))) (.cse0 (select |v_#memory_$Pointer$.offset_188| sll_append_~new_last~0.base))) (and (= (select .cse0 (_ bv0 32)) (_ bv0 32)) (= (store |v_#memory_$Pointer$.offset_188| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.offset_188| |sll_append_#in~head.base|) |sll_append_#in~head.offset| (_ bv0 32))) |#memory_$Pointer$.offset|) (not (= sll_append_~new_last~0.base (_ bv0 32))) (not (= .cse1 (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= (store |v_#memory_$Pointer$.base_197| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.base_197| |sll_append_#in~head.base|) |sll_append_#in~head.offset| sll_append_~new_last~0.base)) |#memory_$Pointer$.base|) (= (_ bv0 1) (select .cse2 .cse1)) (= (_ bv0 1) (select .cse3 v_prenex_25)) (= (select (store .cse2 .cse1 (_ bv1 1)) .cse4) (_ bv0 1)) (= (select .cse0 (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select .cse5 (_ bv0 32))))))) [2018-11-23 11:23:30,349 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_29, v_arrayElimCell_52, v_prenex_25, v_prenex_28, v_prenex_30, v_prenex_27]. (let ((.cse11 (select |#memory_$Pointer$.base| |sll_append_#in~head.base|))) (let ((.cse19 (select .cse11 |sll_append_#in~head.offset|))) (let ((.cse20 (select |#memory_$Pointer$.offset| .cse19)) (.cse21 (select |#memory_$Pointer$.base| .cse19))) (let ((.cse5 (= (_ bv0 32) |sll_append_#in~head.offset|)) (.cse14 (= (_ bv0 32) (select .cse21 (_ bv0 32)))) (.cse13 (select .cse21 (_ bv4 32))) (.cse0 (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (.cse1 (= (_ bv0 32) (select .cse20 (_ bv0 32)))) (.cse3 (= (_ bv0 1) (select |old(#valid)| .cse19))) (.cse4 (= .cse19 |sll_append_#in~head.base|)) (.cse9 (= (select .cse20 (_ bv4 32)) (_ bv0 32))) (.cse10 (not (= (_ bv0 32) .cse19))) (.cse6 (store |old(#valid)| .cse19 (_ bv1 1)))) (or (let ((.cse8 (select .cse11 (_ bv4 32)))) (let ((.cse7 (store .cse6 v_prenex_25 (_ bv1 1))) (.cse2 (select (select |#memory_$Pointer$.base| .cse8) (_ bv0 32)))) (and .cse0 .cse1 (not (= .cse2 (_ bv0 32))) .cse3 .cse4 .cse5 (= (_ bv0 1) (select .cse6 v_prenex_25)) (= (select (store .cse7 .cse2 (_ bv1 1)) .cse8) (_ bv0 1)) .cse9 (= (select .cse7 .cse2) (_ bv0 1)) .cse10))) (let ((.cse12 (store .cse6 v_prenex_29 (_ bv1 1)))) (and (not (= (_ bv0 32) v_arrayElimCell_52)) .cse0 .cse1 .cse3 .cse5 (= (select (store .cse12 v_arrayElimCell_52 (_ bv1 1)) .cse13) (_ bv0 1)) (= (_ bv0 1) (select .cse6 v_prenex_29)) .cse14 (= .cse13 |sll_append_#in~head.base|) .cse9 .cse10 (= (select .cse12 v_arrayElimCell_52) (_ bv0 1)))) (let ((.cse15 (store .cse6 v_prenex_28 (_ bv1 1))) (.cse16 (select (select |#memory_$Pointer$.base| .cse13) (_ bv0 32)))) (and (= (select .cse15 .cse16) (_ bv0 1)) .cse0 .cse1 (not (= .cse16 (_ bv0 32))) .cse3 (= (_ bv0 1) (select .cse6 v_prenex_28)) .cse14 .cse9 (= (select (store .cse15 .cse16 (_ bv1 1)) .cse13) (_ bv0 1)) .cse10)) (let ((.cse17 (store .cse6 v_prenex_30 (_ bv1 1))) (.cse18 (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (and (= (_ bv0 1) (select .cse17 .cse18)) (= (_ bv4 32) |sll_append_#in~head.offset|) .cse0 (not (= (_ bv0 32) .cse18)) .cse1 (= (select (store .cse17 .cse18 (_ bv1 1)) v_prenex_27) (_ bv0 1)) .cse3 .cse4 (= (select .cse11 (_ bv0 32)) (_ bv0 32)) (= (_ bv0 1) (select .cse6 v_prenex_30)) .cse9 .cse10))))))) [2018-11-23 11:23:33,405 WARN L180 SmtUtils]: Spent 573.00 ms on a formula simplification. DAG size of input: 100 DAG size of output: 100 [2018-11-23 11:23:33,887 WARN L180 SmtUtils]: Spent 174.00 ms on a formula simplification. DAG size of input: 126 DAG size of output: 48 [2018-11-23 11:23:33,918 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:33,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:33,921 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:33,922 INFO L478 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 87 treesize of output 99 [2018-11-23 11:23:34,034 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:34,035 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:34,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 151 [2018-11-23 11:23:34,222 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:34,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:34,227 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:34,229 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:34,229 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:34,231 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 137 [2018-11-23 11:23:34,235 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:34,275 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:34,304 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:34,367 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:34,368 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 10 variables, input treesize:552, output treesize:128 [2018-11-23 11:23:34,509 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:23:34,509 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_33, v_prenex_30, v_prenex_27, v_prenex_31, v_prenex_25, v_prenex_32, v_prenex_28, |v_#valid_BEFORE_CALL_22|, v_prenex_29, v_arrayElimCell_52]. (let ((.cse10 (select |#memory_$Pointer$.base| |main_~#head~1.base|))) (let ((.cse6 (select .cse10 |main_~#head~1.offset|))) (let ((.cse22 (select |#memory_$Pointer$.offset| .cse6)) (.cse23 (select |#memory_$Pointer$.base| .cse6))) (let ((.cse8 (= |main_~#head~1.base| .cse6)) (.cse2 (not (= .cse6 (_ bv0 32)))) (.cse7 (= |main_~#head~1.offset| (_ bv0 32))) (.cse16 (= (select .cse23 (_ bv0 32)) (_ bv0 32))) (.cse0 (= (select .cse22 (_ bv0 32)) (_ bv0 32))) (.cse13 (select .cse23 (_ bv4 32))) (.cse14 (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|))) (.cse9 (= (_ bv0 32) (select .cse22 (_ bv4 32))))) (or (let ((.cse5 (select .cse10 (_ bv4 32))) (.cse3 (store v_prenex_31 .cse6 (_ bv1 1)))) (let ((.cse4 (store .cse3 v_prenex_25 (_ bv1 1))) (.cse1 (select (select |#memory_$Pointer$.base| .cse5) (_ bv0 32)))) (and .cse0 (not (= .cse1 (_ bv0 32))) .cse2 (= (_ bv0 1) (select .cse3 v_prenex_25)) (= (_ bv0 1) (select .cse4 .cse1)) (= (select (store .cse4 .cse1 (_ bv1 1)) .cse5) (_ bv0 1)) (= (select v_prenex_31 |main_~#head~1.base|) (_ bv1 1)) (= (_ bv0 1) (select v_prenex_31 .cse6)) .cse7 .cse8 .cse9))) (let ((.cse15 (store v_prenex_32 .cse6 (_ bv1 1)))) (let ((.cse11 (store .cse15 v_prenex_28 (_ bv1 1))) (.cse12 (select (select |#memory_$Pointer$.base| .cse13) (_ bv0 32)))) (and .cse0 (= (_ bv0 1) (select .cse11 .cse12)) (= (_ bv0 1) (select (store .cse11 .cse12 (_ bv1 1)) .cse13)) .cse2 .cse7 (not (= (_ bv0 32) .cse12)) (= (_ bv0 1) (select v_prenex_32 .cse6)) (= (select v_prenex_32 |main_~#head~1.base|) (_ bv1 1)) .cse14 .cse9 (= (_ bv0 1) (select .cse15 v_prenex_28)) .cse16))) (let ((.cse18 (store v_prenex_33 .cse6 (_ bv1 1)))) (let ((.cse19 (store .cse18 v_prenex_30 (_ bv1 1))) (.cse17 (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (and (not (= (_ bv0 32) .cse17)) .cse2 (= (select .cse18 v_prenex_30) (_ bv0 1)) .cse7 (= (select v_prenex_33 |main_~#head~1.base|) (_ bv1 1)) (= |main_~#head~1.offset| (_ bv4 32)) .cse0 (= (select (store .cse19 .cse17 (_ bv1 1)) v_prenex_27) (_ bv0 1)) (= (_ bv0 1) (select v_prenex_33 .cse6)) (= (select .cse19 .cse17) (_ bv0 1)) .cse8 .cse9 (= (select .cse10 (_ bv0 32)) (_ bv0 32))))) (let ((.cse21 (store |v_#valid_BEFORE_CALL_22| .cse6 (_ bv1 1)))) (let ((.cse20 (store .cse21 v_prenex_29 (_ bv1 1)))) (and (= (select (store .cse20 v_arrayElimCell_52 (_ bv1 1)) .cse13) (_ bv0 1)) (not (= (_ bv0 32) v_arrayElimCell_52)) .cse2 .cse7 (= (_ bv0 1) (select |v_#valid_BEFORE_CALL_22| .cse6)) (= (_ bv0 1) (select .cse21 v_prenex_29)) .cse16 .cse0 (= |main_~#head~1.base| .cse13) (= (select .cse20 v_arrayElimCell_52) (_ bv0 1)) (= (select |v_#valid_BEFORE_CALL_22| |main_~#head~1.base|) (_ bv1 1)) .cse14 .cse9)))))))) [2018-11-23 11:23:34,509 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (let ((.cse4 (select |#memory_$Pointer$.base| .cse1))) (let ((.cse2 (select .cse4 (_ bv4 32)))) (let ((.cse0 (select |#memory_$Pointer$.offset| .cse1)) (.cse3 (select (select |#memory_$Pointer$.base| .cse2) (_ bv0 32)))) (and (= (select .cse0 (_ bv0 32)) (_ bv0 32)) (not (= .cse1 (_ bv0 32))) (not (= .cse2 .cse3)) (not (= |main_~#head~1.base| .cse3)) (= |main_~#head~1.offset| (_ bv0 32)) (not (= (_ bv0 32) .cse3)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (_ bv0 32) (select .cse0 (_ bv4 32))) (not (= .cse1 .cse3)) (= (select .cse4 (_ bv0 32)) (_ bv0 32))))))) [2018-11-23 11:23:36,059 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:36,063 INFO L478 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 64 treesize of output 48 [2018-11-23 11:23:36,074 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:36,075 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 11 [2018-11-23 11:23:36,078 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:36,114 INFO L478 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 23 treesize of output 11 [2018-11-23 11:23:36,115 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:36,134 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:36,176 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-23 11:23:36,176 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:159, output treesize:110 [2018-11-23 11:23:36,190 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:23:36,190 WARN L384 uantifierElimination]: Input elimination task: ∃ [|main_~#head~1.base|, |#memory_$Pointer$.offset|]. (let ((.cse5 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse2 (select |#memory_$Pointer$.base| .cse5))) (let ((.cse0 (select .cse2 (_ bv4 32))) (.cse4 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse3 (bvadd .cse4 (_ bv4 32))) (.cse6 (select |#memory_$Pointer$.offset| .cse5)) (.cse1 (select (select |#memory_$Pointer$.base| .cse0) (_ bv0 32)))) (and (not (= .cse0 .cse1)) (= |main_#t~mem20.base| (select .cse2 .cse3)) (= .cse4 (_ bv0 32)) (= (select .cse2 (_ bv0 32)) (_ bv0 32)) (not (= .cse5 .cse1)) (= (select .cse6 (_ bv4 32)) (_ bv0 32)) (not (= .cse5 (_ bv0 32))) (= (select .cse6 .cse3) |main_#t~mem20.offset|) (not (= (_ bv0 32) .cse1)) (= (_ bv0 32) (select .cse6 (_ bv0 32))) (not (= |main_~#head~1.base| .cse1))))))) [2018-11-23 11:23:36,191 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#head~1.base|]. (let ((.cse3 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse2 (select |#memory_$Pointer$.base| .cse3))) (let ((.cse0 (select .cse2 (_ bv4 32)))) (let ((.cse1 (select (select |#memory_$Pointer$.base| .cse0) (_ bv0 32)))) (and (= |main_#t~mem20.base| .cse0) (not (= .cse0 .cse1)) (= (select .cse2 (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) |main_#t~mem20.offset|) (not (= .cse3 .cse1)) (not (= .cse3 (_ bv0 32))) (not (= (_ bv0 32) .cse1)) (not (= |main_~#head~1.base| .cse1))))))) [2018-11-23 11:23:37,734 INFO L256 TraceCheckUtils]: 0: Hoare triple {7139#true} call ULTIMATE.init(); {7139#true} is VALID [2018-11-23 11:23:37,735 INFO L273 TraceCheckUtils]: 1: Hoare triple {7139#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7139#true} is VALID [2018-11-23 11:23:37,735 INFO L273 TraceCheckUtils]: 2: Hoare triple {7139#true} assume true; {7139#true} is VALID [2018-11-23 11:23:37,735 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7139#true} {7139#true} #205#return; {7139#true} is VALID [2018-11-23 11:23:37,735 INFO L256 TraceCheckUtils]: 4: Hoare triple {7139#true} call #t~ret25 := main(); {7139#true} is VALID [2018-11-23 11:23:37,737 INFO L273 TraceCheckUtils]: 5: Hoare triple {7139#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,738 INFO L273 TraceCheckUtils]: 6: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,739 INFO L273 TraceCheckUtils]: 7: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,739 INFO L273 TraceCheckUtils]: 8: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,740 INFO L273 TraceCheckUtils]: 9: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,741 INFO L273 TraceCheckUtils]: 10: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,742 INFO L273 TraceCheckUtils]: 11: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,742 INFO L273 TraceCheckUtils]: 12: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,743 INFO L273 TraceCheckUtils]: 13: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,744 INFO L273 TraceCheckUtils]: 14: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,745 INFO L273 TraceCheckUtils]: 15: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !~bvsle32(~i~0, ~max~0); {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:23:37,746 INFO L256 TraceCheckUtils]: 16: Hoare triple {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} call sll_append(~#head~1.base, ~#head~1.offset, ~min~0); {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:23:37,746 INFO L273 TraceCheckUtils]: 17: Hoare triple {7193#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {7197#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} is VALID [2018-11-23 11:23:37,747 INFO L256 TraceCheckUtils]: 18: Hoare triple {7197#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:23:37,749 INFO L273 TraceCheckUtils]: 19: Hoare triple {7193#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:23:37,750 INFO L273 TraceCheckUtils]: 20: Hoare triple {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:23:37,751 INFO L256 TraceCheckUtils]: 21: Hoare triple {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:23:37,751 INFO L273 TraceCheckUtils]: 22: Hoare triple {7193#(= |#valid| |old(#valid)|)} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {7193#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:23:37,753 INFO L273 TraceCheckUtils]: 23: Hoare triple {7193#(= |#valid| |old(#valid)|)} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7468#(exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1))))} is VALID [2018-11-23 11:23:37,754 INFO L273 TraceCheckUtils]: 24: Hoare triple {7468#(exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7468#(exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1))))} is VALID [2018-11-23 11:23:37,772 INFO L273 TraceCheckUtils]: 25: Hoare triple {7468#(exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {7468#(exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1))))} is VALID [2018-11-23 11:23:37,788 INFO L273 TraceCheckUtils]: 26: Hoare triple {7468#(exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1))))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7478#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} is VALID [2018-11-23 11:23:37,804 INFO L273 TraceCheckUtils]: 27: Hoare triple {7478#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7478#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} is VALID [2018-11-23 11:23:37,814 INFO L273 TraceCheckUtils]: 28: Hoare triple {7478#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= |#valid| (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~new_head~0.base (_ bv1 1))))) (not (= (_ bv0 32) sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {7485#(and (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))))} is VALID [2018-11-23 11:23:37,818 INFO L273 TraceCheckUtils]: 29: Hoare triple {7485#(and (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= |#valid| (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base (_ bv1 1))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7489#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))))} is VALID [2018-11-23 11:23:37,818 INFO L273 TraceCheckUtils]: 30: Hoare triple {7489#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {7489#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))))} is VALID [2018-11-23 11:23:37,821 INFO L273 TraceCheckUtils]: 31: Hoare triple {7489#(and (= sll_create_~new_head~0.offset (_ bv0 32)) (not (= sll_create_~head~0.base (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base (_ bv1 1)) sll_create_~new_head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {7496#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))))} is VALID [2018-11-23 11:23:37,822 INFO L273 TraceCheckUtils]: 32: Hoare triple {7496#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))))} assume !~bvsgt32(~len, 0bv32); {7496#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))))} is VALID [2018-11-23 11:23:37,823 INFO L273 TraceCheckUtils]: 33: Hoare triple {7496#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv0 32)) (_ bv1 1)) sll_create_~head~0.base) (_ bv0 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7503#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:23:37,824 INFO L273 TraceCheckUtils]: 34: Hoare triple {7503#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)))} assume true; {7503#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:23:37,831 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {7503#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv1 1)) |sll_create_#res.base|) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)))) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) (_ bv0 1)))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv0 32)) (_ bv0 32))) (= |sll_create_#res.offset| (_ bv0 32)))} {7204#(and (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} #211#return; {7510#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) |sll_create_#t~malloc2.base|)) (= (_ bv0 1) (select (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)) (_ bv1 1)) |node_create_with_sublist_#t~ret5.base|)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)))) (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (_ bv0 32) |node_create_with_sublist_#t~ret5.offset|) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:23:37,836 INFO L273 TraceCheckUtils]: 36: Hoare triple {7510#(and (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) |sll_create_#t~malloc2.base|)) (= (_ bv0 1) (select (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)) (_ bv1 1)) |node_create_with_sublist_#t~ret5.base|)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) (_ bv0 32)))) (not (= node_create_with_sublist_~new_node~0.base (_ bv0 32))) (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (_ bv0 32) |node_create_with_sublist_#t~ret5.offset|) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {7514#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base|)))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} is VALID [2018-11-23 11:23:37,838 INFO L273 TraceCheckUtils]: 37: Hoare triple {7514#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base|)))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} assume true; {7514#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base|)))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} is VALID [2018-11-23 11:23:37,843 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {7514#(and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (not (= |node_create_with_sublist_#res.base| (_ bv0 32))) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (_ bv0 1) (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 1) (select (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (_ bv0 1) (select (store |old(#valid)| |node_create_with_sublist_#res.base| (_ bv1 1)) |sll_create_#t~malloc2.base|)))) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32)))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))} {7197#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} #201#return; {7521#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))) (_ bv0 32)) (= sll_append_~head.base |sll_append_#in~head.base|) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32)))) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))))))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (_ bv0 32) |sll_append_#t~ret8.base|)))} is VALID [2018-11-23 11:23:37,850 INFO L273 TraceCheckUtils]: 39: Hoare triple {7521#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))) (_ bv0 32)) (= sll_append_~head.base |sll_append_#in~head.base|) (exists ((|sll_create_#t~malloc2.base| (_ BitVec 32))) (and (= (select (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) |sll_create_#t~malloc2.base|) (_ bv0 1)) (= (select (store (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32)))) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store (store (store |old(#valid)| |sll_append_#t~ret8.base| (_ bv1 1)) |sll_create_#t~malloc2.base| (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32)))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))))))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (_ bv0 32) |sll_append_#t~ret8.base|)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {7525#(and (not (= sll_append_~new_last~0.base (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (_ bv4 32))) (exists ((v_prenex_25 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_prenex_25)) (= (_ bv0 1) (select (store (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)))) (= (_ bv0 1) (select (store (store (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32)))))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:23:37,871 INFO L273 TraceCheckUtils]: 40: Hoare triple {7525#(and (not (= sll_append_~new_last~0.base (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (_ bv4 32))) (exists ((v_prenex_25 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_prenex_25)) (= (_ bv0 1) (select (store (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)))) (= (_ bv0 1) (select (store (store (store |old(#valid)| sll_append_~new_last~0.base (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32)))))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {7529#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (exists ((v_prenex_28 (_ BitVec 32))) (and (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28))))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_prenex_30 (_ BitVec 32)) (v_prenex_27 (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30)) (= (_ bv0 1) (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)) (_ bv1 1)) v_prenex_27) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) |sll_append_#in~head.base|) (exists ((v_prenex_29 (_ BitVec 32)) (v_arrayElimCell_52 (_ BitVec 32))) (and (not (= (_ bv0 32) v_arrayElimCell_52)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_25 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} is VALID [2018-11-23 11:23:37,872 INFO L273 TraceCheckUtils]: 41: Hoare triple {7529#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (exists ((v_prenex_28 (_ BitVec 32))) (and (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28))))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_prenex_30 (_ BitVec 32)) (v_prenex_27 (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30)) (= (_ bv0 1) (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)) (_ bv1 1)) v_prenex_27) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) |sll_append_#in~head.base|) (exists ((v_prenex_29 (_ BitVec 32)) (v_arrayElimCell_52 (_ BitVec 32))) (and (not (= (_ bv0 32) v_arrayElimCell_52)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_25 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} assume true; {7529#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (exists ((v_prenex_28 (_ BitVec 32))) (and (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28))))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_prenex_30 (_ BitVec 32)) (v_prenex_27 (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30)) (= (_ bv0 1) (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)) (_ bv1 1)) v_prenex_27) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) |sll_append_#in~head.base|) (exists ((v_prenex_29 (_ BitVec 32)) (v_arrayElimCell_52 (_ BitVec 32))) (and (not (= (_ bv0 32) v_arrayElimCell_52)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_25 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} is VALID [2018-11-23 11:23:37,879 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7529#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (exists ((v_prenex_28 (_ BitVec 32))) (and (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_28))))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32)) (exists ((v_prenex_30 (_ BitVec 32)) (v_prenex_27 (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30)) (= (_ bv0 1) (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)))) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_30 (_ bv1 1)) (select (select |#memory_$Pointer$.base| v_prenex_27) (_ bv0 32)) (_ bv1 1)) v_prenex_27) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) |sll_append_#in~head.base|) (exists ((v_prenex_29 (_ BitVec 32)) (v_arrayElimCell_52 (_ BitVec 32))) (and (not (= (_ bv0 32) v_arrayElimCell_52)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52) (_ bv0 1)) (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_29 (_ bv1 1)) v_arrayElimCell_52 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32))) (_ bv0 1)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))) (and (exists ((v_prenex_25 (_ BitVec 32))) (and (= (_ bv0 1) (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25)) (= (select (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv1 1)) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 1)) (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (_ bv1 1)) v_prenex_25 (_ bv1 1)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32))) (_ bv0 1)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32))) (_ bv0 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))))} {7159#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #195#return; {7536#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)))} is VALID [2018-11-23 11:23:37,882 INFO L273 TraceCheckUtils]: 43: Hoare triple {7536#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {7540#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} is VALID [2018-11-23 11:23:37,882 INFO L273 TraceCheckUtils]: 44: Hoare triple {7540#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {7540#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} is VALID [2018-11-23 11:23:37,883 INFO L273 TraceCheckUtils]: 45: Hoare triple {7540#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} assume !~bvsgt32(~i~0, ~max~0); {7540#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} is VALID [2018-11-23 11:23:37,886 INFO L273 TraceCheckUtils]: 46: Hoare triple {7540#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {7550#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= |main_#t~mem20.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))) (= (_ bv0 32) |main_#t~mem20.offset|))} is VALID [2018-11-23 11:23:37,889 INFO L256 TraceCheckUtils]: 47: Hoare triple {7550#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= |main_#t~mem20.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))) (= (_ bv0 32) |main_#t~mem20.offset|))} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {7554#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} is VALID [2018-11-23 11:23:37,890 INFO L273 TraceCheckUtils]: 48: Hoare triple {7554#(exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32))))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {7558#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:23:37,892 INFO L273 TraceCheckUtils]: 49: Hoare triple {7558#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} assume !!(~head.base != 0bv32 || ~head.offset != 0bv32);#t~post6 := ~len~0;~len~0 := ~bvadd32(1bv32, #t~post6);havoc #t~post6;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~head.base, ~head.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {7562#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:23:37,893 INFO L273 TraceCheckUtils]: 50: Hoare triple {7562#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {7566#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:23:37,894 INFO L273 TraceCheckUtils]: 51: Hoare triple {7566#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} #res := ~len~0; {7566#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:23:37,895 INFO L273 TraceCheckUtils]: 52: Hoare triple {7566#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} assume true; {7566#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} is VALID [2018-11-23 11:23:37,898 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {7566#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) (_ bv0 32)) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))))} {7550#(and (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= |main_#t~mem20.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32))) (_ bv0 32)))))) (= (_ bv0 32) |main_#t~mem20.offset|))} #197#return; {7140#false} is VALID [2018-11-23 11:23:37,899 INFO L273 TraceCheckUtils]: 54: Hoare triple {7140#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {7140#false} is VALID [2018-11-23 11:23:37,899 INFO L273 TraceCheckUtils]: 55: Hoare triple {7140#false} assume !(~i~0 == ~count~0); {7140#false} is VALID [2018-11-23 11:23:37,899 INFO L273 TraceCheckUtils]: 56: Hoare triple {7140#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {7140#false} is VALID [2018-11-23 11:23:37,900 INFO L273 TraceCheckUtils]: 57: Hoare triple {7140#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {7140#false} is VALID [2018-11-23 11:23:37,900 INFO L273 TraceCheckUtils]: 58: Hoare triple {7140#false} assume !false; {7140#false} is VALID [2018-11-23 11:23:37,924 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 4 refuted. 2 times theorem prover too weak. 12 trivial. 7 not checked. [2018-11-23 11:23:37,924 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:23:40,411 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:23:41,047 WARN L180 SmtUtils]: Spent 379.00 ms on a formula simplification that was a NOOP. DAG size: 77 [2018-11-23 11:23:41,226 WARN L180 SmtUtils]: Spent 170.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2018-11-23 11:23:41,501 WARN L180 SmtUtils]: Spent 271.00 ms on a formula simplification that was a NOOP. DAG size: 61 [2018-11-23 11:23:41,744 WARN L180 SmtUtils]: Spent 239.00 ms on a formula simplification that was a NOOP. DAG size: 59 [2018-11-23 11:23:43,578 WARN L180 SmtUtils]: Spent 1.80 s on a formula simplification that was a NOOP. DAG size: 89 [2018-11-23 11:23:44,300 WARN L180 SmtUtils]: Spent 706.00 ms on a formula simplification that was a NOOP. DAG size: 58 [2018-11-23 11:23:45,267 WARN L180 SmtUtils]: Spent 965.00 ms on a formula simplification that was a NOOP. DAG size: 66 [2018-11-23 11:23:46,029 WARN L180 SmtUtils]: Spent 759.00 ms on a formula simplification that was a NOOP. DAG size: 64 [2018-11-23 11:23:48,428 WARN L180 SmtUtils]: Spent 307.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 55 [2018-11-23 11:23:48,451 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 165 treesize of output 165 [2018-11-23 11:23:48,572 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 34 [2018-11-23 11:23:48,582 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 160 treesize of output 160 [2018-11-23 11:23:48,606 INFO L478 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 160 treesize of output 160 [2018-11-23 11:23:48,644 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:48,690 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:48,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 160 treesize of output 154 [2018-11-23 11:23:48,897 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 32 [2018-11-23 11:23:48,908 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 11:23:48,912 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:48,923 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:48,934 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-23 11:23:49,037 INFO L478 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 136 treesize of output 82 [2018-11-23 11:23:49,165 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:23:49,178 INFO L478 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 9 treesize of output 8 [2018-11-23 11:23:49,179 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:49,261 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,264 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,270 INFO L478 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 75 treesize of output 75 [2018-11-23 11:23:49,391 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 30 [2018-11-23 11:23:49,398 INFO L478 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 45 [2018-11-23 11:23:49,412 INFO L478 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 45 treesize of output 44 [2018-11-23 11:23:49,414 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:49,433 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:49,473 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,474 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,476 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:49,477 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,478 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,479 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,480 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 11:23:49,531 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:23:49,620 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 40 treesize of output 59 [2018-11-23 11:23:49,630 INFO L267 ElimStorePlain]: Start of recursive call 13: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:23:49,805 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,806 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,807 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 36 treesize of output 38 [2018-11-23 11:23:49,835 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,881 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 15 treesize of output 28 [2018-11-23 11:23:49,891 INFO L267 ElimStorePlain]: Start of recursive call 15: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:23:49,924 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 3 [2018-11-23 11:23:49,926 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:49,935 INFO L267 ElimStorePlain]: Start of recursive call 14: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:49,946 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,947 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:49,948 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 43 treesize of output 43 [2018-11-23 11:23:50,059 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 17 treesize of output 35 [2018-11-23 11:23:50,077 INFO L267 ElimStorePlain]: Start of recursive call 18: 5 dim-0 vars, End of recursive call: 5 dim-0 vars, and 7 xjuncts. [2018-11-23 11:23:50,126 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:50,127 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 3 [2018-11-23 11:23:50,128 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:50,245 INFO L267 ElimStorePlain]: Start of recursive call 17: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:50,262 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:50,262 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:50,263 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 44 treesize of output 44 [2018-11-23 11:23:50,323 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 15 treesize of output 33 [2018-11-23 11:23:50,347 INFO L267 ElimStorePlain]: Start of recursive call 21: 5 dim-0 vars, End of recursive call: 5 dim-0 vars, and 7 xjuncts. [2018-11-23 11:23:50,382 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:50,385 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:50,385 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:50,394 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 18 [2018-11-23 11:23:50,397 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 2 xjuncts. [2018-11-23 11:23:50,432 INFO L267 ElimStorePlain]: Start of recursive call 20: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:23:50,448 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:50,459 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:50,470 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:50,506 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 11:23:50,507 INFO L202 ElimStorePlain]: Needed 22 recursive calls to eliminate 6 variables, input treesize:219, output treesize:53 [2018-11-23 11:23:50,529 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:23:50,529 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_$Pointer$.base_221|, |v_sll_create_#res.base_67|, v_sll_create_~head~0.base_113, v_sll_append_~new_last~0.base_27, |v_#memory_$Pointer$.offset_207|, |v_sll_create_#t~malloc2.base_60|]. (let ((.cse5 (store |#valid| v_sll_append_~new_last~0.base_27 (_ bv1 1)))) (let ((.cse4 (store .cse5 |v_sll_create_#t~malloc2.base_60| (_ bv1 1)))) (or (not (= (select (let ((.cse0 (let ((.cse1 (let ((.cse2 (store |v_#memory_$Pointer$.base_221| |v_sll_create_#res.base_67| (store (select |v_#memory_$Pointer$.base_221| |v_sll_create_#res.base_67|) (_ bv0 32) v_sll_create_~head~0.base_113)))) (store .cse2 v_sll_append_~new_last~0.base_27 (store (store (select .cse2 v_sll_append_~new_last~0.base_27) (_ bv4 32) |v_sll_create_#res.base_67|) (_ bv0 32) (_ bv0 32)))))) (store .cse1 |main_~#head~1.base| (store (select .cse1 |main_~#head~1.base|) |main_~#head~1.offset| v_sll_append_~new_last~0.base_27))))) (select .cse0 (select (select .cse0 v_sll_append_~new_last~0.base_27) (_ bv4 32)))) (select (select (let ((.cse3 (store |v_#memory_$Pointer$.offset_207| v_sll_append_~new_last~0.base_27 (store (store (select |v_#memory_$Pointer$.offset_207| v_sll_append_~new_last~0.base_27) (_ bv4 32) (_ bv0 32)) (_ bv0 32) (_ bv0 32))))) (store .cse3 |main_~#head~1.base| (store (select .cse3 |main_~#head~1.base|) |main_~#head~1.offset| (_ bv0 32)))) v_sll_append_~new_last~0.base_27) (_ bv4 32))) (_ bv0 32))) (= v_sll_append_~new_last~0.base_27 (_ bv0 32)) (not (= (_ bv0 1) (select (store .cse4 v_sll_create_~head~0.base_113 (_ bv1 1)) |v_sll_create_#res.base_67|))) (not (= (select |#valid| v_sll_append_~new_last~0.base_27) (_ bv0 1))) (not (= (select .cse5 |v_sll_create_#t~malloc2.base_60|) (_ bv0 1))) (= v_sll_create_~head~0.base_113 (_ bv0 32)) (not (= (select .cse4 v_sll_create_~head~0.base_113) (_ bv0 1)))))) [2018-11-23 11:23:50,530 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|v_sll_create_#t~malloc2.base_60|, v_sll_create_~head~0.base_113, |v_sll_create_#res.base_67|]. (let ((.cse1 (store |#valid| |main_~#head~1.base| (_ bv1 1)))) (let ((.cse0 (store .cse1 |v_sll_create_#t~malloc2.base_60| (_ bv1 1)))) (or (not (= (_ bv0 1) (select |#valid| |main_~#head~1.base|))) (not (= |main_~#head~1.offset| (_ bv4 32))) (not (= (_ bv0 1) (select .cse0 v_sll_create_~head~0.base_113))) (not (= (select (store .cse0 v_sll_create_~head~0.base_113 (_ bv1 1)) |v_sll_create_#res.base_67|) (_ bv0 1))) (= |main_~#head~1.base| (_ bv0 32)) (not (= (select .cse1 |v_sll_create_#t~malloc2.base_60|) (_ bv0 1))) (= v_sll_create_~head~0.base_113 (_ bv0 32))))) [2018-11-23 11:23:50,794 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:23:50,794 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24] total 43 [2018-11-23 11:23:50,794 INFO L78 Accepts]: Start accepts. Automaton has 43 states. Word has length 59 [2018-11-23 11:23:50,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:23:50,795 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 43 states. [2018-11-23 11:23:51,444 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-23 11:23:51,444 INFO L459 AbstractCegarLoop]: Interpolant automaton has 43 states [2018-11-23 11:23:51,445 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2018-11-23 11:23:51,446 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=2179, Unknown=21, NotChecked=190, Total=2550 [2018-11-23 11:23:51,446 INFO L87 Difference]: Start difference. First operand 170 states and 242 transitions. Second operand 43 states.