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-simple/sll2n_remove_all_reverse_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:17:44,043 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:17:44,047 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:17:44,069 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:17:44,070 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:17:44,071 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:17:44,073 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:17:44,076 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:17:44,077 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:17:44,078 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:17:44,079 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:17:44,080 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:17:44,080 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:17:44,081 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:17:44,083 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:17:44,083 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:17:44,084 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:17:44,086 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:17:44,088 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:17:44,093 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:17:44,095 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:17:44,096 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:17:44,100 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:17:44,100 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:17:44,100 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:17:44,102 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:17:44,104 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:17:44,105 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:17:44,106 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:17:44,109 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:17:44,110 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:17:44,111 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:17:44,112 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:17:44,113 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:17:44,114 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:17:44,115 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:17:44,116 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:17:44,144 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:17:44,145 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:17:44,146 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:17:44,146 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:17:44,150 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:17:44,150 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:17:44,150 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:17:44,150 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:17:44,151 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:17:44,151 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:17:44,151 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:17:44,151 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:17:44,151 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:17:44,152 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:17:44,152 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:17:44,152 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:17:44,152 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:17:44,152 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:17:44,153 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:17:44,153 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:17:44,153 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:17:44,153 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:17:44,153 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:17:44,154 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:17:44,154 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:17:44,154 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:17:44,154 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:17:44,154 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:17:44,155 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:17:44,155 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:17:44,155 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:17:44,155 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:17:44,155 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:17:44,201 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:17:44,217 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:17:44,221 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:17:44,223 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:17:44,223 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:17:44,224 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-simple/sll2n_remove_all_reverse_true-unreach-call_true-valid-memsafety.i [2018-11-23 11:17:44,293 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1b7e8b406/3371e630c74843a4ad4315624f4f0ab4/FLAG85bf9ca7d [2018-11-23 11:17:44,870 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:17:44,871 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-simple/sll2n_remove_all_reverse_true-unreach-call_true-valid-memsafety.i [2018-11-23 11:17:44,893 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1b7e8b406/3371e630c74843a4ad4315624f4f0ab4/FLAG85bf9ca7d [2018-11-23 11:17:45,147 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1b7e8b406/3371e630c74843a4ad4315624f4f0ab4 [2018-11-23 11:17:45,158 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:17:45,159 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:17:45,160 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:17:45,160 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:17:45,164 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:17:45,166 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:45,171 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@38f01937 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45, skipping insertion in model container [2018-11-23 11:17:45,171 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:45,182 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:17:45,229 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:17:45,706 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:17:45,729 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:17:45,882 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:17:45,952 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:17:45,952 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45 WrapperNode [2018-11-23 11:17:45,952 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:17:45,953 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:17:45,954 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:17:45,954 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:17:45,965 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:17:45" (1/1) ... [2018-11-23 11:17:45,999 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:17:45" (1/1) ... [2018-11-23 11:17:46,014 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:17:46,014 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:17:46,015 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:17:46,015 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:17:46,025 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,026 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,031 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,031 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,068 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,082 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,090 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... [2018-11-23 11:17:46,097 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:17:46,098 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:17:46,098 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:17:46,098 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:17:46,099 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:17:46,149 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:17:46,149 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-23 11:17:46,149 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-23 11:17:46,150 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2018-11-23 11:17:46,150 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2018-11-23 11:17:46,150 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2018-11-23 11:17:46,150 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2018-11-23 11:17:46,150 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:17:46,151 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:17:46,151 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:17:46,151 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:17:46,151 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:17:46,151 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:17:46,152 INFO L130 BoogieDeclarations]: Found specification of procedure sll_remove_last [2018-11-23 11:17:46,152 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_remove_last [2018-11-23 11:17:46,152 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:17:46,152 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 11:17:46,152 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2018-11-23 11:17:46,152 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:17:46,153 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:17:47,203 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:17:47,204 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 11:17:47,205 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:17:47 BoogieIcfgContainer [2018-11-23 11:17:47,206 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:17:47,207 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:17:47,207 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:17:47,210 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:17:47,211 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:17:45" (1/3) ... [2018-11-23 11:17:47,211 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2560fcc9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:17:47, skipping insertion in model container [2018-11-23 11:17:47,212 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:17:45" (2/3) ... [2018-11-23 11:17:47,212 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2560fcc9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:17:47, skipping insertion in model container [2018-11-23 11:17:47,212 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:17:47" (3/3) ... [2018-11-23 11:17:47,214 INFO L112 eAbstractionObserver]: Analyzing ICFG sll2n_remove_all_reverse_true-unreach-call_true-valid-memsafety.i [2018-11-23 11:17:47,224 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:17:47,240 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:17:47,257 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:17:47,285 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:17:47,285 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:17:47,285 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:17:47,285 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:17:47,286 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:17:47,286 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:17:47,286 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:17:47,286 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:17:47,286 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:17:47,303 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states. [2018-11-23 11:17:47,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 11:17:47,310 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:17:47,311 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:17:47,313 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:17:47,318 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:17:47,318 INFO L82 PathProgramCache]: Analyzing trace with hash -1422227719, now seen corresponding path program 1 times [2018-11-23 11:17:47,322 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:17:47,323 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:17:47,344 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:17:47,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:47,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:47,429 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:17:47,499 INFO L256 TraceCheckUtils]: 0: Hoare triple {45#true} call ULTIMATE.init(); {45#true} is VALID [2018-11-23 11:17:47,503 INFO L273 TraceCheckUtils]: 1: Hoare triple {45#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {45#true} is VALID [2018-11-23 11:17:47,504 INFO L273 TraceCheckUtils]: 2: Hoare triple {45#true} assume true; {45#true} is VALID [2018-11-23 11:17:47,504 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {45#true} {45#true} #93#return; {45#true} is VALID [2018-11-23 11:17:47,505 INFO L256 TraceCheckUtils]: 4: Hoare triple {45#true} call #t~ret14 := main(); {45#true} is VALID [2018-11-23 11:17:47,505 INFO L273 TraceCheckUtils]: 5: Hoare triple {45#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {45#true} is VALID [2018-11-23 11:17:47,505 INFO L256 TraceCheckUtils]: 6: Hoare triple {45#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {45#true} is VALID [2018-11-23 11:17:47,506 INFO L273 TraceCheckUtils]: 7: Hoare triple {45#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {45#true} is VALID [2018-11-23 11:17:47,508 INFO L273 TraceCheckUtils]: 8: Hoare triple {45#true} assume !true; {46#false} is VALID [2018-11-23 11:17:47,508 INFO L273 TraceCheckUtils]: 9: Hoare triple {46#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {46#false} is VALID [2018-11-23 11:17:47,509 INFO L273 TraceCheckUtils]: 10: Hoare triple {46#false} assume true; {46#false} is VALID [2018-11-23 11:17:47,509 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {46#false} {45#true} #87#return; {46#false} is VALID [2018-11-23 11:17:47,510 INFO L273 TraceCheckUtils]: 12: Hoare triple {46#false} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {46#false} is VALID [2018-11-23 11:17:47,510 INFO L273 TraceCheckUtils]: 13: Hoare triple {46#false} assume !~bvsge32(~i~0, 0bv32); {46#false} is VALID [2018-11-23 11:17:47,511 INFO L273 TraceCheckUtils]: 14: Hoare triple {46#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {46#false} is VALID [2018-11-23 11:17:47,511 INFO L273 TraceCheckUtils]: 15: Hoare triple {46#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {46#false} is VALID [2018-11-23 11:17:47,512 INFO L273 TraceCheckUtils]: 16: Hoare triple {46#false} assume !false; {46#false} is VALID [2018-11-23 11:17:47,516 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:17:47,516 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:17:47,525 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:17:47,525 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 11:17:47,530 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-23 11:17:47,533 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:17:47,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 11:17:47,655 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:47,656 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 11:17:47,665 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 11:17:47,666 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:17:47,669 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 2 states. [2018-11-23 11:17:47,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:47,938 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2018-11-23 11:17:47,939 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 11:17:47,939 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-23 11:17:47,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:17:47,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:17:47,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2018-11-23 11:17:47,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:17:47,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2018-11-23 11:17:47,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 78 transitions. [2018-11-23 11:17:48,790 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:48,819 INFO L225 Difference]: With dead ends: 64 [2018-11-23 11:17:48,822 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 11:17:48,826 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:17:48,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 11:17:49,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2018-11-23 11:17:49,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:17:49,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 35 states. [2018-11-23 11:17:49,058 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 35 states. [2018-11-23 11:17:49,058 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 35 states. [2018-11-23 11:17:49,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:49,064 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2018-11-23 11:17:49,064 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2018-11-23 11:17:49,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:49,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:49,066 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 35 states. [2018-11-23 11:17:49,066 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 35 states. [2018-11-23 11:17:49,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:49,071 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2018-11-23 11:17:49,072 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2018-11-23 11:17:49,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:49,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:49,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:17:49,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:17:49,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 11:17:49,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2018-11-23 11:17:49,078 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 17 [2018-11-23 11:17:49,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:17:49,079 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2018-11-23 11:17:49,079 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 11:17:49,079 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2018-11-23 11:17:49,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 11:17:49,081 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:17:49,081 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:17:49,081 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:17:49,082 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:17:49,082 INFO L82 PathProgramCache]: Analyzing trace with hash 152506097, now seen corresponding path program 1 times [2018-11-23 11:17:49,083 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:17:49,084 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:17:49,116 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:17:49,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:49,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:49,201 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:17:49,372 INFO L256 TraceCheckUtils]: 0: Hoare triple {302#true} call ULTIMATE.init(); {302#true} is VALID [2018-11-23 11:17:49,372 INFO L273 TraceCheckUtils]: 1: Hoare triple {302#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {302#true} is VALID [2018-11-23 11:17:49,373 INFO L273 TraceCheckUtils]: 2: Hoare triple {302#true} assume true; {302#true} is VALID [2018-11-23 11:17:49,373 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {302#true} {302#true} #93#return; {302#true} is VALID [2018-11-23 11:17:49,373 INFO L256 TraceCheckUtils]: 4: Hoare triple {302#true} call #t~ret14 := main(); {302#true} is VALID [2018-11-23 11:17:49,374 INFO L273 TraceCheckUtils]: 5: Hoare triple {302#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {322#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:49,375 INFO L256 TraceCheckUtils]: 6: Hoare triple {322#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {302#true} is VALID [2018-11-23 11:17:49,385 INFO L273 TraceCheckUtils]: 7: Hoare triple {302#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {329#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:17:49,385 INFO L273 TraceCheckUtils]: 8: Hoare triple {329#(= |sll_create_#in~len| sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {333#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:17:49,386 INFO L273 TraceCheckUtils]: 9: Hoare triple {333#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {333#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:17:49,387 INFO L273 TraceCheckUtils]: 10: Hoare triple {333#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} assume true; {333#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:17:49,388 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {333#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} {322#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} #87#return; {303#false} is VALID [2018-11-23 11:17:49,389 INFO L273 TraceCheckUtils]: 12: Hoare triple {303#false} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {303#false} is VALID [2018-11-23 11:17:49,390 INFO L273 TraceCheckUtils]: 13: Hoare triple {303#false} assume !~bvsge32(~i~0, 0bv32); {303#false} is VALID [2018-11-23 11:17:49,390 INFO L273 TraceCheckUtils]: 14: Hoare triple {303#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {303#false} is VALID [2018-11-23 11:17:49,391 INFO L273 TraceCheckUtils]: 15: Hoare triple {303#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {303#false} is VALID [2018-11-23 11:17:49,391 INFO L273 TraceCheckUtils]: 16: Hoare triple {303#false} assume !false; {303#false} is VALID [2018-11-23 11:17:49,393 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:17:49,394 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:17:49,396 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:17:49,396 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 11:17:49,398 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2018-11-23 11:17:49,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:17:49,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 11:17:49,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:49,451 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 11:17:49,452 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 11:17:49,452 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:17:49,453 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand 5 states. [2018-11-23 11:17:50,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:50,067 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2018-11-23 11:17:50,067 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:17:50,067 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2018-11-23 11:17:50,068 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:17:50,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:17:50,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2018-11-23 11:17:50,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:17:50,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2018-11-23 11:17:50,077 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2018-11-23 11:17:50,271 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:50,273 INFO L225 Difference]: With dead ends: 57 [2018-11-23 11:17:50,275 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 11:17:50,276 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:17:50,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 11:17:50,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 36. [2018-11-23 11:17:50,299 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:17:50,299 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 36 states. [2018-11-23 11:17:50,299 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 36 states. [2018-11-23 11:17:50,300 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 36 states. [2018-11-23 11:17:50,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:50,304 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 11:17:50,304 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 11:17:50,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:50,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:50,306 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 39 states. [2018-11-23 11:17:50,306 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 39 states. [2018-11-23 11:17:50,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:50,310 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 11:17:50,310 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 11:17:50,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:50,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:50,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:17:50,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:17:50,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 11:17:50,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 39 transitions. [2018-11-23 11:17:50,314 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 39 transitions. Word has length 17 [2018-11-23 11:17:50,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:17:50,315 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 39 transitions. [2018-11-23 11:17:50,315 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 11:17:50,315 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 39 transitions. [2018-11-23 11:17:50,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 11:17:50,316 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:17:50,316 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] [2018-11-23 11:17:50,317 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:17:50,317 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:17:50,317 INFO L82 PathProgramCache]: Analyzing trace with hash -1701689122, now seen corresponding path program 1 times [2018-11-23 11:17:50,318 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:17:50,319 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:17:50,336 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:17:50,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:50,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:50,418 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:17:50,556 INFO L256 TraceCheckUtils]: 0: Hoare triple {566#true} call ULTIMATE.init(); {566#true} is VALID [2018-11-23 11:17:50,557 INFO L273 TraceCheckUtils]: 1: Hoare triple {566#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {566#true} is VALID [2018-11-23 11:17:50,557 INFO L273 TraceCheckUtils]: 2: Hoare triple {566#true} assume true; {566#true} is VALID [2018-11-23 11:17:50,557 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {566#true} {566#true} #93#return; {566#true} is VALID [2018-11-23 11:17:50,557 INFO L256 TraceCheckUtils]: 4: Hoare triple {566#true} call #t~ret14 := main(); {566#true} is VALID [2018-11-23 11:17:50,558 INFO L273 TraceCheckUtils]: 5: Hoare triple {566#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {586#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:50,559 INFO L256 TraceCheckUtils]: 6: Hoare triple {586#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {566#true} is VALID [2018-11-23 11:17:50,561 INFO L273 TraceCheckUtils]: 7: Hoare triple {566#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {593#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:17:50,564 INFO L273 TraceCheckUtils]: 8: Hoare triple {593#(= |sll_create_#in~len| sll_create_~len)} assume !!~bvsgt32(~len, 0bv32); {593#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:17:50,564 INFO L256 TraceCheckUtils]: 9: Hoare triple {593#(= |sll_create_#in~len| sll_create_~len)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {566#true} is VALID [2018-11-23 11:17:50,564 INFO L273 TraceCheckUtils]: 10: Hoare triple {566#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {566#true} is VALID [2018-11-23 11:17:50,565 INFO L273 TraceCheckUtils]: 11: Hoare triple {566#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {566#true} is VALID [2018-11-23 11:17:50,565 INFO L273 TraceCheckUtils]: 12: Hoare triple {566#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {566#true} is VALID [2018-11-23 11:17:50,565 INFO L273 TraceCheckUtils]: 13: Hoare triple {566#true} assume true; {566#true} is VALID [2018-11-23 11:17:50,567 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {566#true} {593#(= |sll_create_#in~len| sll_create_~len)} #91#return; {593#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:17:50,568 INFO L273 TraceCheckUtils]: 15: Hoare triple {593#(= |sll_create_#in~len| sll_create_~len)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {593#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:17:50,578 INFO L273 TraceCheckUtils]: 16: Hoare triple {593#(= |sll_create_#in~len| sll_create_~len)} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {621#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} is VALID [2018-11-23 11:17:50,581 INFO L273 TraceCheckUtils]: 17: Hoare triple {621#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:17:50,582 INFO L273 TraceCheckUtils]: 18: Hoare triple {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:17:50,587 INFO L273 TraceCheckUtils]: 19: Hoare triple {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:17:50,589 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} {586#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} #87#return; {567#false} is VALID [2018-11-23 11:17:50,589 INFO L273 TraceCheckUtils]: 21: Hoare triple {567#false} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {567#false} is VALID [2018-11-23 11:17:50,590 INFO L273 TraceCheckUtils]: 22: Hoare triple {567#false} assume !~bvsge32(~i~0, 0bv32); {567#false} is VALID [2018-11-23 11:17:50,590 INFO L273 TraceCheckUtils]: 23: Hoare triple {567#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {567#false} is VALID [2018-11-23 11:17:50,590 INFO L273 TraceCheckUtils]: 24: Hoare triple {567#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {567#false} is VALID [2018-11-23 11:17:50,591 INFO L273 TraceCheckUtils]: 25: Hoare triple {567#false} assume !false; {567#false} is VALID [2018-11-23 11:17:50,592 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:17:50,593 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:17:50,969 INFO L273 TraceCheckUtils]: 25: Hoare triple {567#false} assume !false; {567#false} is VALID [2018-11-23 11:17:50,969 INFO L273 TraceCheckUtils]: 24: Hoare triple {567#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {567#false} is VALID [2018-11-23 11:17:50,970 INFO L273 TraceCheckUtils]: 23: Hoare triple {567#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {567#false} is VALID [2018-11-23 11:17:50,970 INFO L273 TraceCheckUtils]: 22: Hoare triple {567#false} assume !~bvsge32(~i~0, 0bv32); {567#false} is VALID [2018-11-23 11:17:50,971 INFO L273 TraceCheckUtils]: 21: Hoare triple {567#false} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {567#false} is VALID [2018-11-23 11:17:50,975 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} {665#(bvsgt (bvadd main_~len~0 (_ bv4294967295 32)) (_ bv0 32))} #87#return; {567#false} is VALID [2018-11-23 11:17:50,979 INFO L273 TraceCheckUtils]: 19: Hoare triple {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:17:50,980 INFO L273 TraceCheckUtils]: 18: Hoare triple {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:17:50,981 INFO L273 TraceCheckUtils]: 17: Hoare triple {678#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} assume !~bvsgt32(~len, 0bv32); {625#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:17:50,985 INFO L273 TraceCheckUtils]: 16: Hoare triple {682#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {678#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} is VALID [2018-11-23 11:17:50,986 INFO L273 TraceCheckUtils]: 15: Hoare triple {682#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {682#(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:17:50,988 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {566#true} {682#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} #91#return; {682#(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:17:50,988 INFO L273 TraceCheckUtils]: 13: Hoare triple {566#true} assume true; {566#true} is VALID [2018-11-23 11:17:50,989 INFO L273 TraceCheckUtils]: 12: Hoare triple {566#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {566#true} is VALID [2018-11-23 11:17:50,989 INFO L273 TraceCheckUtils]: 11: Hoare triple {566#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {566#true} is VALID [2018-11-23 11:17:50,989 INFO L273 TraceCheckUtils]: 10: Hoare triple {566#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {566#true} is VALID [2018-11-23 11:17:50,990 INFO L256 TraceCheckUtils]: 9: Hoare triple {682#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {566#true} is VALID [2018-11-23 11:17:51,000 INFO L273 TraceCheckUtils]: 8: Hoare triple {682#(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); {682#(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:17:51,001 INFO L273 TraceCheckUtils]: 7: Hoare triple {566#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {682#(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:17:51,001 INFO L256 TraceCheckUtils]: 6: Hoare triple {665#(bvsgt (bvadd main_~len~0 (_ bv4294967295 32)) (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {566#true} is VALID [2018-11-23 11:17:51,002 INFO L273 TraceCheckUtils]: 5: Hoare triple {566#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {665#(bvsgt (bvadd main_~len~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:51,002 INFO L256 TraceCheckUtils]: 4: Hoare triple {566#true} call #t~ret14 := main(); {566#true} is VALID [2018-11-23 11:17:51,003 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {566#true} {566#true} #93#return; {566#true} is VALID [2018-11-23 11:17:51,003 INFO L273 TraceCheckUtils]: 2: Hoare triple {566#true} assume true; {566#true} is VALID [2018-11-23 11:17:51,003 INFO L273 TraceCheckUtils]: 1: Hoare triple {566#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {566#true} is VALID [2018-11-23 11:17:51,004 INFO L256 TraceCheckUtils]: 0: Hoare triple {566#true} call ULTIMATE.init(); {566#true} is VALID [2018-11-23 11:17:51,007 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:17:51,008 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:17:51,009 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2018-11-23 11:17:51,009 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 26 [2018-11-23 11:17:51,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:17:51,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 11:17:51,161 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:51,161 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 11:17:51,162 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 11:17:51,162 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:17:51,162 INFO L87 Difference]: Start difference. First operand 36 states and 39 transitions. Second operand 9 states. [2018-11-23 11:17:52,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:52,277 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2018-11-23 11:17:52,278 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 11:17:52,278 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 26 [2018-11-23 11:17:52,278 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:17:52,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:17:52,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-11-23 11:17:52,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:17:52,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-11-23 11:17:52,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2018-11-23 11:17:52,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:52,428 INFO L225 Difference]: With dead ends: 61 [2018-11-23 11:17:52,428 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 11:17:52,428 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2018-11-23 11:17:52,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 11:17:52,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 40. [2018-11-23 11:17:52,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:17:52,455 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 40 states. [2018-11-23 11:17:52,455 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 40 states. [2018-11-23 11:17:52,455 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 40 states. [2018-11-23 11:17:52,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:52,459 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 11:17:52,459 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-23 11:17:52,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:52,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:52,460 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 43 states. [2018-11-23 11:17:52,461 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 43 states. [2018-11-23 11:17:52,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:52,464 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 11:17:52,464 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-23 11:17:52,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:52,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:52,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:17:52,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:17:52,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 11:17:52,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 44 transitions. [2018-11-23 11:17:52,469 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 44 transitions. Word has length 26 [2018-11-23 11:17:52,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:17:52,469 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 44 transitions. [2018-11-23 11:17:52,469 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 11:17:52,469 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2018-11-23 11:17:52,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-23 11:17:52,471 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:17:52,471 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 11:17:52,471 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:17:52,472 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:17:52,472 INFO L82 PathProgramCache]: Analyzing trace with hash 94693777, now seen corresponding path program 2 times [2018-11-23 11:17:52,472 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:17:52,473 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:17:52,496 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:17:52,541 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 11:17:52,541 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:17:52,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:52,581 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:17:52,694 INFO L256 TraceCheckUtils]: 0: Hoare triple {961#true} call ULTIMATE.init(); {961#true} is VALID [2018-11-23 11:17:52,694 INFO L273 TraceCheckUtils]: 1: Hoare triple {961#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {961#true} is VALID [2018-11-23 11:17:52,695 INFO L273 TraceCheckUtils]: 2: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 11:17:52,695 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {961#true} {961#true} #93#return; {961#true} is VALID [2018-11-23 11:17:52,696 INFO L256 TraceCheckUtils]: 4: Hoare triple {961#true} call #t~ret14 := main(); {961#true} is VALID [2018-11-23 11:17:52,698 INFO L273 TraceCheckUtils]: 5: Hoare triple {961#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {981#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:52,698 INFO L256 TraceCheckUtils]: 6: Hoare triple {981#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {961#true} is VALID [2018-11-23 11:17:52,699 INFO L273 TraceCheckUtils]: 7: Hoare triple {961#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {961#true} is VALID [2018-11-23 11:17:52,699 INFO L273 TraceCheckUtils]: 8: Hoare triple {961#true} assume !!~bvsgt32(~len, 0bv32); {961#true} is VALID [2018-11-23 11:17:52,699 INFO L256 TraceCheckUtils]: 9: Hoare triple {961#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {961#true} is VALID [2018-11-23 11:17:52,699 INFO L273 TraceCheckUtils]: 10: Hoare triple {961#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {961#true} is VALID [2018-11-23 11:17:52,699 INFO L273 TraceCheckUtils]: 11: Hoare triple {961#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {961#true} is VALID [2018-11-23 11:17:52,700 INFO L273 TraceCheckUtils]: 12: Hoare triple {961#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {961#true} is VALID [2018-11-23 11:17:52,700 INFO L273 TraceCheckUtils]: 13: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 11:17:52,700 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {961#true} {961#true} #91#return; {961#true} is VALID [2018-11-23 11:17:52,700 INFO L273 TraceCheckUtils]: 15: Hoare triple {961#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {961#true} is VALID [2018-11-23 11:17:52,701 INFO L273 TraceCheckUtils]: 16: Hoare triple {961#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {961#true} is VALID [2018-11-23 11:17:52,701 INFO L273 TraceCheckUtils]: 17: Hoare triple {961#true} assume !!~bvsgt32(~len, 0bv32); {961#true} is VALID [2018-11-23 11:17:52,701 INFO L256 TraceCheckUtils]: 18: Hoare triple {961#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {961#true} is VALID [2018-11-23 11:17:52,702 INFO L273 TraceCheckUtils]: 19: Hoare triple {961#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {961#true} is VALID [2018-11-23 11:17:52,702 INFO L273 TraceCheckUtils]: 20: Hoare triple {961#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {961#true} is VALID [2018-11-23 11:17:52,702 INFO L273 TraceCheckUtils]: 21: Hoare triple {961#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {961#true} is VALID [2018-11-23 11:17:52,703 INFO L273 TraceCheckUtils]: 22: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 11:17:52,703 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {961#true} {961#true} #91#return; {961#true} is VALID [2018-11-23 11:17:52,703 INFO L273 TraceCheckUtils]: 24: Hoare triple {961#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {961#true} is VALID [2018-11-23 11:17:52,703 INFO L273 TraceCheckUtils]: 25: Hoare triple {961#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {961#true} is VALID [2018-11-23 11:17:52,704 INFO L273 TraceCheckUtils]: 26: Hoare triple {961#true} assume !~bvsgt32(~len, 0bv32); {961#true} is VALID [2018-11-23 11:17:52,704 INFO L273 TraceCheckUtils]: 27: Hoare triple {961#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {961#true} is VALID [2018-11-23 11:17:52,704 INFO L273 TraceCheckUtils]: 28: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 11:17:52,707 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {961#true} {981#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} #87#return; {981#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:52,709 INFO L273 TraceCheckUtils]: 30: Hoare triple {981#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {1057#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:52,710 INFO L273 TraceCheckUtils]: 31: Hoare triple {1057#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsge32(~i~0, 0bv32); {962#false} is VALID [2018-11-23 11:17:52,710 INFO L273 TraceCheckUtils]: 32: Hoare triple {962#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {962#false} is VALID [2018-11-23 11:17:52,710 INFO L273 TraceCheckUtils]: 33: Hoare triple {962#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {962#false} is VALID [2018-11-23 11:17:52,710 INFO L273 TraceCheckUtils]: 34: Hoare triple {962#false} assume !false; {962#false} is VALID [2018-11-23 11:17:52,713 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 11:17:52,714 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 (5)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 11:17:52,719 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:17:52,719 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:17:52,720 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 35 [2018-11-23 11:17:52,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:17:52,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:17:52,797 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:52,797 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:17:52,798 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:17:52,798 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:17:52,798 INFO L87 Difference]: Start difference. First operand 40 states and 44 transitions. Second operand 4 states. [2018-11-23 11:17:53,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:53,174 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2018-11-23 11:17:53,174 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:17:53,174 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 35 [2018-11-23 11:17:53,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:17:53,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:17:53,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2018-11-23 11:17:53,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:17:53,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2018-11-23 11:17:53,180 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 46 transitions. [2018-11-23 11:17:53,279 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:53,282 INFO L225 Difference]: With dead ends: 47 [2018-11-23 11:17:53,282 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 11:17:53,283 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 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:17:53,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 11:17:53,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 41. [2018-11-23 11:17:53,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:17:53,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 41 states. [2018-11-23 11:17:53,336 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 41 states. [2018-11-23 11:17:53,336 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 41 states. [2018-11-23 11:17:53,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:53,339 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 11:17:53,339 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-23 11:17:53,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:53,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:53,341 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 43 states. [2018-11-23 11:17:53,341 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 43 states. [2018-11-23 11:17:53,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:53,344 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 11:17:53,344 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-23 11:17:53,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:53,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:53,345 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:17:53,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:17:53,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:17:53,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2018-11-23 11:17:53,348 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 35 [2018-11-23 11:17:53,349 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:17:53,349 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2018-11-23 11:17:53,349 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:17:53,349 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2018-11-23 11:17:53,351 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 11:17:53,351 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:17:53,351 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 11:17:53,351 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:17:53,352 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:17:53,352 INFO L82 PathProgramCache]: Analyzing trace with hash 1534654112, now seen corresponding path program 1 times [2018-11-23 11:17:53,352 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:17:53,352 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:17:53,386 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:17:53,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:53,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:53,532 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:17:53,636 INFO L256 TraceCheckUtils]: 0: Hoare triple {1283#true} call ULTIMATE.init(); {1283#true} is VALID [2018-11-23 11:17:53,636 INFO L273 TraceCheckUtils]: 1: Hoare triple {1283#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1283#true} is VALID [2018-11-23 11:17:53,637 INFO L273 TraceCheckUtils]: 2: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,637 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1283#true} {1283#true} #93#return; {1283#true} is VALID [2018-11-23 11:17:53,637 INFO L256 TraceCheckUtils]: 4: Hoare triple {1283#true} call #t~ret14 := main(); {1283#true} is VALID [2018-11-23 11:17:53,638 INFO L273 TraceCheckUtils]: 5: Hoare triple {1283#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {1303#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,639 INFO L256 TraceCheckUtils]: 6: Hoare triple {1303#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1283#true} is VALID [2018-11-23 11:17:53,639 INFO L273 TraceCheckUtils]: 7: Hoare triple {1283#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1283#true} is VALID [2018-11-23 11:17:53,639 INFO L273 TraceCheckUtils]: 8: Hoare triple {1283#true} assume !!~bvsgt32(~len, 0bv32); {1283#true} is VALID [2018-11-23 11:17:53,640 INFO L256 TraceCheckUtils]: 9: Hoare triple {1283#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1283#true} is VALID [2018-11-23 11:17:53,640 INFO L273 TraceCheckUtils]: 10: Hoare triple {1283#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1283#true} is VALID [2018-11-23 11:17:53,640 INFO L273 TraceCheckUtils]: 11: Hoare triple {1283#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1283#true} is VALID [2018-11-23 11:17:53,641 INFO L273 TraceCheckUtils]: 12: Hoare triple {1283#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,641 INFO L273 TraceCheckUtils]: 13: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,641 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1283#true} {1283#true} #91#return; {1283#true} is VALID [2018-11-23 11:17:53,641 INFO L273 TraceCheckUtils]: 15: Hoare triple {1283#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,642 INFO L273 TraceCheckUtils]: 16: Hoare triple {1283#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1283#true} is VALID [2018-11-23 11:17:53,642 INFO L273 TraceCheckUtils]: 17: Hoare triple {1283#true} assume !!~bvsgt32(~len, 0bv32); {1283#true} is VALID [2018-11-23 11:17:53,642 INFO L256 TraceCheckUtils]: 18: Hoare triple {1283#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1283#true} is VALID [2018-11-23 11:17:53,642 INFO L273 TraceCheckUtils]: 19: Hoare triple {1283#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1283#true} is VALID [2018-11-23 11:17:53,643 INFO L273 TraceCheckUtils]: 20: Hoare triple {1283#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1283#true} is VALID [2018-11-23 11:17:53,643 INFO L273 TraceCheckUtils]: 21: Hoare triple {1283#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,643 INFO L273 TraceCheckUtils]: 22: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,644 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1283#true} {1283#true} #91#return; {1283#true} is VALID [2018-11-23 11:17:53,644 INFO L273 TraceCheckUtils]: 24: Hoare triple {1283#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,644 INFO L273 TraceCheckUtils]: 25: Hoare triple {1283#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1283#true} is VALID [2018-11-23 11:17:53,644 INFO L273 TraceCheckUtils]: 26: Hoare triple {1283#true} assume !~bvsgt32(~len, 0bv32); {1283#true} is VALID [2018-11-23 11:17:53,645 INFO L273 TraceCheckUtils]: 27: Hoare triple {1283#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,645 INFO L273 TraceCheckUtils]: 28: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,646 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1283#true} {1303#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} #87#return; {1303#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,647 INFO L273 TraceCheckUtils]: 30: Hoare triple {1303#(= (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,648 INFO L273 TraceCheckUtils]: 31: Hoare triple {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsge32(~i~0, 0bv32); {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,648 INFO L256 TraceCheckUtils]: 32: Hoare triple {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {1283#true} is VALID [2018-11-23 11:17:53,648 INFO L273 TraceCheckUtils]: 33: Hoare triple {1283#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {1283#true} is VALID [2018-11-23 11:17:53,649 INFO L273 TraceCheckUtils]: 34: Hoare triple {1283#true} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {1283#true} is VALID [2018-11-23 11:17:53,649 INFO L273 TraceCheckUtils]: 35: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,654 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1283#true} {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #89#return; {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,654 INFO L273 TraceCheckUtils]: 37: Hoare triple {1379#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {1401#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:17:53,657 INFO L273 TraceCheckUtils]: 38: Hoare triple {1401#(= main_~i~0 (_ bv0 32))} assume !~bvsge32(~i~0, 0bv32); {1284#false} is VALID [2018-11-23 11:17:53,657 INFO L273 TraceCheckUtils]: 39: Hoare triple {1284#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {1284#false} is VALID [2018-11-23 11:17:53,657 INFO L273 TraceCheckUtils]: 40: Hoare triple {1284#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {1284#false} is VALID [2018-11-23 11:17:53,657 INFO L273 TraceCheckUtils]: 41: Hoare triple {1284#false} assume !false; {1284#false} is VALID [2018-11-23 11:17:53,660 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 11:17:53,661 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:17:53,801 INFO L273 TraceCheckUtils]: 41: Hoare triple {1284#false} assume !false; {1284#false} is VALID [2018-11-23 11:17:53,802 INFO L273 TraceCheckUtils]: 40: Hoare triple {1284#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {1284#false} is VALID [2018-11-23 11:17:53,802 INFO L273 TraceCheckUtils]: 39: Hoare triple {1284#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {1284#false} is VALID [2018-11-23 11:17:53,803 INFO L273 TraceCheckUtils]: 38: Hoare triple {1423#(bvsge main_~i~0 (_ bv0 32))} assume !~bvsge32(~i~0, 0bv32); {1284#false} is VALID [2018-11-23 11:17:53,805 INFO L273 TraceCheckUtils]: 37: Hoare triple {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {1423#(bvsge main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:17:53,806 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1283#true} {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #89#return; {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,806 INFO L273 TraceCheckUtils]: 35: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,806 INFO L273 TraceCheckUtils]: 34: Hoare triple {1283#true} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {1283#true} is VALID [2018-11-23 11:17:53,806 INFO L273 TraceCheckUtils]: 33: Hoare triple {1283#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {1283#true} is VALID [2018-11-23 11:17:53,807 INFO L256 TraceCheckUtils]: 32: Hoare triple {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {1283#true} is VALID [2018-11-23 11:17:53,808 INFO L273 TraceCheckUtils]: 31: Hoare triple {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsge32(~i~0, 0bv32); {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,811 INFO L273 TraceCheckUtils]: 30: Hoare triple {1449#(bvsge (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {1427#(bvsge (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,812 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1283#true} {1449#(bvsge (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} #87#return; {1449#(bvsge (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,813 INFO L273 TraceCheckUtils]: 28: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,813 INFO L273 TraceCheckUtils]: 27: Hoare triple {1283#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,813 INFO L273 TraceCheckUtils]: 26: Hoare triple {1283#true} assume !~bvsgt32(~len, 0bv32); {1283#true} is VALID [2018-11-23 11:17:53,813 INFO L273 TraceCheckUtils]: 25: Hoare triple {1283#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1283#true} is VALID [2018-11-23 11:17:53,814 INFO L273 TraceCheckUtils]: 24: Hoare triple {1283#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,814 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1283#true} {1283#true} #91#return; {1283#true} is VALID [2018-11-23 11:17:53,814 INFO L273 TraceCheckUtils]: 22: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,814 INFO L273 TraceCheckUtils]: 21: Hoare triple {1283#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,814 INFO L273 TraceCheckUtils]: 20: Hoare triple {1283#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1283#true} is VALID [2018-11-23 11:17:53,815 INFO L273 TraceCheckUtils]: 19: Hoare triple {1283#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1283#true} is VALID [2018-11-23 11:17:53,815 INFO L256 TraceCheckUtils]: 18: Hoare triple {1283#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1283#true} is VALID [2018-11-23 11:17:53,815 INFO L273 TraceCheckUtils]: 17: Hoare triple {1283#true} assume !!~bvsgt32(~len, 0bv32); {1283#true} is VALID [2018-11-23 11:17:53,815 INFO L273 TraceCheckUtils]: 16: Hoare triple {1283#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1283#true} is VALID [2018-11-23 11:17:53,816 INFO L273 TraceCheckUtils]: 15: Hoare triple {1283#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,816 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1283#true} {1283#true} #91#return; {1283#true} is VALID [2018-11-23 11:17:53,816 INFO L273 TraceCheckUtils]: 13: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,816 INFO L273 TraceCheckUtils]: 12: Hoare triple {1283#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1283#true} is VALID [2018-11-23 11:17:53,816 INFO L273 TraceCheckUtils]: 11: Hoare triple {1283#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1283#true} is VALID [2018-11-23 11:17:53,817 INFO L273 TraceCheckUtils]: 10: Hoare triple {1283#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1283#true} is VALID [2018-11-23 11:17:53,817 INFO L256 TraceCheckUtils]: 9: Hoare triple {1283#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1283#true} is VALID [2018-11-23 11:17:53,817 INFO L273 TraceCheckUtils]: 8: Hoare triple {1283#true} assume !!~bvsgt32(~len, 0bv32); {1283#true} is VALID [2018-11-23 11:17:53,817 INFO L273 TraceCheckUtils]: 7: Hoare triple {1283#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1283#true} is VALID [2018-11-23 11:17:53,817 INFO L256 TraceCheckUtils]: 6: Hoare triple {1449#(bvsge (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1283#true} is VALID [2018-11-23 11:17:53,823 INFO L273 TraceCheckUtils]: 5: Hoare triple {1283#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {1449#(bvsge (bvadd main_~len~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 11:17:53,824 INFO L256 TraceCheckUtils]: 4: Hoare triple {1283#true} call #t~ret14 := main(); {1283#true} is VALID [2018-11-23 11:17:53,824 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1283#true} {1283#true} #93#return; {1283#true} is VALID [2018-11-23 11:17:53,824 INFO L273 TraceCheckUtils]: 2: Hoare triple {1283#true} assume true; {1283#true} is VALID [2018-11-23 11:17:53,825 INFO L273 TraceCheckUtils]: 1: Hoare triple {1283#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1283#true} is VALID [2018-11-23 11:17:53,825 INFO L256 TraceCheckUtils]: 0: Hoare triple {1283#true} call ULTIMATE.init(); {1283#true} is VALID [2018-11-23 11:17:53,828 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 11:17:53,831 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:17:53,831 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-23 11:17:53,832 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 42 [2018-11-23 11:17:53,832 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:17:53,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 11:17:53,931 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:53,931 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 11:17:53,932 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 11:17:53,932 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:17:53,932 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand 8 states. [2018-11-23 11:17:54,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:54,805 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2018-11-23 11:17:54,805 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:17:54,806 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 42 [2018-11-23 11:17:54,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:17:54,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 11:17:54,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 11:17:54,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 11:17:54,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 11:17:54,811 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2018-11-23 11:17:54,895 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:17:54,898 INFO L225 Difference]: With dead ends: 50 [2018-11-23 11:17:54,898 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 11:17:54,899 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 11:17:54,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 11:17:54,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2018-11-23 11:17:54,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:17:54,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 44 states. [2018-11-23 11:17:54,992 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 44 states. [2018-11-23 11:17:54,992 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 44 states. [2018-11-23 11:17:54,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:54,995 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2018-11-23 11:17:54,995 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2018-11-23 11:17:54,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:54,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:54,996 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 46 states. [2018-11-23 11:17:54,996 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 46 states. [2018-11-23 11:17:54,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:17:55,000 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2018-11-23 11:17:55,000 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2018-11-23 11:17:55,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:17:55,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:17:55,001 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:17:55,001 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:17:55,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 11:17:55,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 49 transitions. [2018-11-23 11:17:55,004 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 49 transitions. Word has length 42 [2018-11-23 11:17:55,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:17:55,004 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 49 transitions. [2018-11-23 11:17:55,004 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 11:17:55,004 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-23 11:17:55,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 11:17:55,006 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:17:55,006 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 11:17:55,006 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:17:55,007 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:17:55,007 INFO L82 PathProgramCache]: Analyzing trace with hash 345893553, now seen corresponding path program 2 times [2018-11-23 11:17:55,007 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:17:55,007 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:17:55,027 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:17:55,161 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:17:55,161 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:17:55,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:17:55,206 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:17:55,519 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:17:55,525 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:17:55,526 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:17:55,530 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:17:55,542 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:17:55,543 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:12 [2018-11-23 11:17:55,552 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:17:55,553 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_60|, v_sll_create_~head~0.base_16]. (and (= (_ bv0 32) sll_create_~head~0.offset) (not (= (_ bv0 32) v_sll_create_~head~0.base_16)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_60| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_60| sll_create_~head~0.base) (_ bv4 32) v_sll_create_~head~0.base_16)))) [2018-11-23 11:17:55,553 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset)) [2018-11-23 11:17:56,281 INFO L256 TraceCheckUtils]: 0: Hoare triple {1776#true} call ULTIMATE.init(); {1776#true} is VALID [2018-11-23 11:17:56,282 INFO L273 TraceCheckUtils]: 1: Hoare triple {1776#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1776#true} is VALID [2018-11-23 11:17:56,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {1776#true} assume true; {1776#true} is VALID [2018-11-23 11:17:56,282 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1776#true} {1776#true} #93#return; {1776#true} is VALID [2018-11-23 11:17:56,282 INFO L256 TraceCheckUtils]: 4: Hoare triple {1776#true} call #t~ret14 := main(); {1776#true} is VALID [2018-11-23 11:17:56,291 INFO L273 TraceCheckUtils]: 5: Hoare triple {1776#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {1796#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:17:56,292 INFO L256 TraceCheckUtils]: 6: Hoare triple {1796#(= |main_~#s~0.offset| (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1776#true} is VALID [2018-11-23 11:17:56,292 INFO L273 TraceCheckUtils]: 7: Hoare triple {1776#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1776#true} is VALID [2018-11-23 11:17:56,292 INFO L273 TraceCheckUtils]: 8: Hoare triple {1776#true} assume !!~bvsgt32(~len, 0bv32); {1776#true} is VALID [2018-11-23 11:17:56,292 INFO L256 TraceCheckUtils]: 9: Hoare triple {1776#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1776#true} is VALID [2018-11-23 11:17:56,296 INFO L273 TraceCheckUtils]: 10: Hoare triple {1776#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:17:56,303 INFO L273 TraceCheckUtils]: 11: Hoare triple {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:17:56,304 INFO L273 TraceCheckUtils]: 12: Hoare triple {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1819#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:17:56,304 INFO L273 TraceCheckUtils]: 13: Hoare triple {1819#(not (= (_ bv0 32) |node_create_#res.base|))} assume true; {1819#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:17:56,305 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1819#(not (= (_ bv0 32) |node_create_#res.base|))} {1776#true} #91#return; {1826#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} is VALID [2018-11-23 11:17:56,306 INFO L273 TraceCheckUtils]: 15: Hoare triple {1826#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:17:56,306 INFO L273 TraceCheckUtils]: 16: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:17:56,307 INFO L273 TraceCheckUtils]: 17: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32); {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:17:56,307 INFO L256 TraceCheckUtils]: 18: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1776#true} is VALID [2018-11-23 11:17:56,308 INFO L273 TraceCheckUtils]: 19: Hoare triple {1776#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1843#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:17:56,309 INFO L273 TraceCheckUtils]: 20: Hoare triple {1843#(= node_create_~temp~0.offset (_ bv0 32))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1843#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:17:56,310 INFO L273 TraceCheckUtils]: 21: Hoare triple {1843#(= node_create_~temp~0.offset (_ bv0 32))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1850#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:17:56,311 INFO L273 TraceCheckUtils]: 22: Hoare triple {1850#(= |node_create_#res.offset| (_ bv0 32))} assume true; {1850#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:17:56,313 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1850#(= |node_create_#res.offset| (_ bv0 32))} {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} #91#return; {1857#(and (not (= sll_create_~head~0.base (_ bv0 32))) (= (_ bv0 32) |sll_create_#t~ret4.offset|))} is VALID [2018-11-23 11:17:56,318 INFO L273 TraceCheckUtils]: 24: Hoare triple {1857#(and (not (= sll_create_~head~0.base (_ bv0 32))) (= (_ bv0 32) |sll_create_#t~ret4.offset|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1861#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:17:56,319 INFO L273 TraceCheckUtils]: 25: Hoare triple {1861#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1861#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:17:56,319 INFO L273 TraceCheckUtils]: 26: Hoare triple {1861#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} assume !~bvsgt32(~len, 0bv32); {1861#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:17:56,320 INFO L273 TraceCheckUtils]: 27: Hoare triple {1861#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1871#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:17:56,321 INFO L273 TraceCheckUtils]: 28: Hoare triple {1871#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} assume true; {1871#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:17:56,322 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1871#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} {1796#(= |main_~#s~0.offset| (_ bv0 32))} #87#return; {1878#(and (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32)))))} is VALID [2018-11-23 11:17:56,325 INFO L273 TraceCheckUtils]: 30: Hoare triple {1878#(and (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32)))))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {1882#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} is VALID [2018-11-23 11:17:56,326 INFO L273 TraceCheckUtils]: 31: Hoare triple {1882#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {1882#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} is VALID [2018-11-23 11:17:56,327 INFO L256 TraceCheckUtils]: 32: Hoare triple {1882#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {1889#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:17:56,368 INFO L273 TraceCheckUtils]: 33: Hoare triple {1889#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {1893#(= |sll_remove_last_#t~mem6.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:17:56,369 INFO L273 TraceCheckUtils]: 34: Hoare triple {1893#(= |sll_remove_last_#t~mem6.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:17:56,370 INFO L273 TraceCheckUtils]: 35: Hoare triple {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} assume true; {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:17:56,373 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} {1882#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} #89#return; {1777#false} is VALID [2018-11-23 11:17:56,373 INFO L273 TraceCheckUtils]: 37: Hoare triple {1777#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {1777#false} is VALID [2018-11-23 11:17:56,374 INFO L273 TraceCheckUtils]: 38: Hoare triple {1777#false} assume !!~bvsge32(~i~0, 0bv32); {1777#false} is VALID [2018-11-23 11:17:56,374 INFO L256 TraceCheckUtils]: 39: Hoare triple {1777#false} call sll_remove_last(~#s~0.base, ~#s~0.offset); {1777#false} is VALID [2018-11-23 11:17:56,374 INFO L273 TraceCheckUtils]: 40: Hoare triple {1777#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {1777#false} is VALID [2018-11-23 11:17:56,374 INFO L273 TraceCheckUtils]: 41: Hoare triple {1777#false} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {1777#false} is VALID [2018-11-23 11:17:56,374 INFO L273 TraceCheckUtils]: 42: Hoare triple {1777#false} assume true; {1777#false} is VALID [2018-11-23 11:17:56,375 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1777#false} {1777#false} #89#return; {1777#false} is VALID [2018-11-23 11:17:56,375 INFO L273 TraceCheckUtils]: 44: Hoare triple {1777#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {1777#false} is VALID [2018-11-23 11:17:56,375 INFO L273 TraceCheckUtils]: 45: Hoare triple {1777#false} assume !~bvsge32(~i~0, 0bv32); {1777#false} is VALID [2018-11-23 11:17:56,375 INFO L273 TraceCheckUtils]: 46: Hoare triple {1777#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {1777#false} is VALID [2018-11-23 11:17:56,375 INFO L273 TraceCheckUtils]: 47: Hoare triple {1777#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {1777#false} is VALID [2018-11-23 11:17:56,376 INFO L273 TraceCheckUtils]: 48: Hoare triple {1777#false} assume !false; {1777#false} is VALID [2018-11-23 11:17:56,380 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 11:17:56,380 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:17:57,120 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 27 treesize of output 23 [2018-11-23 11:17:57,127 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 14 [2018-11-23 11:17:57,128 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:17:57,133 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:17:57,160 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:17:57,161 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:23 [2018-11-23 11:17:57,172 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:17:57,172 WARN L384 uantifierElimination]: Input elimination task: ∀ [|main_~#s~0.base|, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse1 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (or (not (= (select (select |#memory_$Pointer$.base| .cse0) (bvadd .cse1 (_ bv4 32))) (_ bv0 32))) (not (= .cse0 |main_#t~ret11.base|)) (not (= .cse1 |main_#t~ret11.offset|)))) [2018-11-23 11:17:57,172 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#s~0.base|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (or (not (= (select (select |#memory_$Pointer$.base| .cse0) (bvadd |main_#t~ret11.offset| (_ bv4 32))) (_ bv0 32))) (not (= .cse0 |main_#t~ret11.base|)))) [2018-11-23 11:17:57,644 WARN L180 SmtUtils]: Spent 148.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 11:17:57,934 INFO L267 ElimStorePlain]: Start of recursive call 1: End of recursive call: and 1 xjuncts. [2018-11-23 11:17:57,935 INFO L202 ElimStorePlain]: Needed 1 recursive calls to eliminate 4 variables, input treesize:48, output treesize:1 [2018-11-23 11:18:00,573 WARN L180 SmtUtils]: Spent 220.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 24 [2018-11-23 11:18:00,578 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 14 treesize of output 12 [2018-11-23 11:18:00,604 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 1 [2018-11-23 11:18:00,605 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:00,608 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:00,612 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 12 treesize of output 10 [2018-11-23 11:18:00,617 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 6 treesize of output 1 [2018-11-23 11:18:00,618 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:00,620 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:00,663 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:18:00,663 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:53, output treesize:14 [2018-11-23 11:18:00,669 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:00,669 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_$Pointer$.base|, |main_~#s~0.base|, |v_main_~#s~0.offset_BEFORE_CALL_5|]. (let ((.cse2 (bvadd |sll_create_#t~ret4.offset| (_ bv4 32)))) (let ((.cse1 (store |#memory_$Pointer$.base| |sll_create_#t~ret4.base| (store (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) .cse2 sll_create_~head~0.base)))) (let ((.cse0 (select (select .cse1 |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (or (not (= .cse0 |sll_create_#t~ret4.base|)) (not (= (_ bv0 32) (select (select .cse1 .cse0) .cse2))))))) [2018-11-23 11:18:00,669 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (not (= sll_create_~head~0.base (_ bv0 32))))) (and (or .cse0 (not (= sll_create_~head~0.base |sll_create_#t~ret4.base|))) .cse0)) [2018-11-23 11:18:00,855 INFO L273 TraceCheckUtils]: 48: Hoare triple {1777#false} assume !false; {1777#false} is VALID [2018-11-23 11:18:00,856 INFO L273 TraceCheckUtils]: 47: Hoare triple {1777#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {1777#false} is VALID [2018-11-23 11:18:00,856 INFO L273 TraceCheckUtils]: 46: Hoare triple {1777#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {1777#false} is VALID [2018-11-23 11:18:00,857 INFO L273 TraceCheckUtils]: 45: Hoare triple {1777#false} assume !~bvsge32(~i~0, 0bv32); {1777#false} is VALID [2018-11-23 11:18:00,857 INFO L273 TraceCheckUtils]: 44: Hoare triple {1777#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {1777#false} is VALID [2018-11-23 11:18:00,858 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {1776#true} {1777#false} #89#return; {1777#false} is VALID [2018-11-23 11:18:00,858 INFO L273 TraceCheckUtils]: 42: Hoare triple {1776#true} assume true; {1776#true} is VALID [2018-11-23 11:18:00,858 INFO L273 TraceCheckUtils]: 41: Hoare triple {1776#true} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {1776#true} is VALID [2018-11-23 11:18:00,858 INFO L273 TraceCheckUtils]: 40: Hoare triple {1776#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {1776#true} is VALID [2018-11-23 11:18:00,858 INFO L256 TraceCheckUtils]: 39: Hoare triple {1777#false} call sll_remove_last(~#s~0.base, ~#s~0.offset); {1776#true} is VALID [2018-11-23 11:18:00,859 INFO L273 TraceCheckUtils]: 38: Hoare triple {1777#false} assume !!~bvsge32(~i~0, 0bv32); {1777#false} is VALID [2018-11-23 11:18:00,859 INFO L273 TraceCheckUtils]: 37: Hoare triple {1777#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {1777#false} is VALID [2018-11-23 11:18:00,862 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} {1976#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} #89#return; {1777#false} is VALID [2018-11-23 11:18:00,862 INFO L273 TraceCheckUtils]: 35: Hoare triple {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} assume true; {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:00,863 INFO L273 TraceCheckUtils]: 34: Hoare triple {1986#(or (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (not (= |sll_remove_last_#t~mem6.base| (_ bv0 32))))} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {1897#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:00,865 INFO L273 TraceCheckUtils]: 33: Hoare triple {1990#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {1986#(or (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (not (= |sll_remove_last_#t~mem6.base| (_ bv0 32))))} is VALID [2018-11-23 11:18:00,866 INFO L256 TraceCheckUtils]: 32: Hoare triple {1976#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {1990#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:00,867 INFO L273 TraceCheckUtils]: 31: Hoare triple {1976#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {1976#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:18:00,870 INFO L273 TraceCheckUtils]: 30: Hoare triple {1997#(forall ((|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd |main_#t~ret11.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.base|))))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {1976#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:18:00,872 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {2004#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|) |sll_create_#res.base|)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd |sll_create_#res.offset| (_ bv4 32)))))))} {1776#true} #87#return; {1997#(forall ((|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd |main_#t~ret11.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.base|))))} is VALID [2018-11-23 11:18:00,872 INFO L273 TraceCheckUtils]: 28: Hoare triple {2004#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|) |sll_create_#res.base|)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd |sll_create_#res.offset| (_ bv4 32)))))))} assume true; {2004#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|) |sll_create_#res.base|)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd |sll_create_#res.offset| (_ bv4 32)))))))} is VALID [2018-11-23 11:18:00,874 INFO L273 TraceCheckUtils]: 27: Hoare triple {2011#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd sll_create_~head~0.offset (_ bv4 32)))))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2004#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|) |sll_create_#res.base|)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd |sll_create_#res.offset| (_ bv4 32)))))))} is VALID [2018-11-23 11:18:00,876 INFO L273 TraceCheckUtils]: 26: Hoare triple {2011#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd sll_create_~head~0.offset (_ bv4 32)))))))} assume !~bvsgt32(~len, 0bv32); {2011#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd sll_create_~head~0.offset (_ bv4 32)))))))} is VALID [2018-11-23 11:18:00,877 INFO L273 TraceCheckUtils]: 25: Hoare triple {2011#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd sll_create_~head~0.offset (_ bv4 32)))))))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2011#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd sll_create_~head~0.offset (_ bv4 32)))))))} is VALID [2018-11-23 11:18:00,878 INFO L273 TraceCheckUtils]: 24: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2011#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_5| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_5|)) (bvadd sll_create_~head~0.offset (_ bv4 32)))))))} is VALID [2018-11-23 11:18:00,879 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1776#true} {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} #91#return; {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:00,880 INFO L273 TraceCheckUtils]: 22: Hoare triple {1776#true} assume true; {1776#true} is VALID [2018-11-23 11:18:00,880 INFO L273 TraceCheckUtils]: 21: Hoare triple {1776#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1776#true} is VALID [2018-11-23 11:18:00,880 INFO L273 TraceCheckUtils]: 20: Hoare triple {1776#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1776#true} is VALID [2018-11-23 11:18:00,881 INFO L273 TraceCheckUtils]: 19: Hoare triple {1776#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1776#true} is VALID [2018-11-23 11:18:00,881 INFO L256 TraceCheckUtils]: 18: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1776#true} is VALID [2018-11-23 11:18:00,882 INFO L273 TraceCheckUtils]: 17: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32); {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:00,882 INFO L273 TraceCheckUtils]: 16: Hoare triple {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:00,887 INFO L273 TraceCheckUtils]: 15: Hoare triple {1826#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1830#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:00,888 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1819#(not (= (_ bv0 32) |node_create_#res.base|))} {1776#true} #91#return; {1826#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} is VALID [2018-11-23 11:18:00,888 INFO L273 TraceCheckUtils]: 13: Hoare triple {1819#(not (= (_ bv0 32) |node_create_#res.base|))} assume true; {1819#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:18:00,889 INFO L273 TraceCheckUtils]: 12: Hoare triple {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1819#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:18:00,890 INFO L273 TraceCheckUtils]: 11: Hoare triple {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:18:00,890 INFO L273 TraceCheckUtils]: 10: Hoare triple {1776#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1812#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:18:00,890 INFO L256 TraceCheckUtils]: 9: Hoare triple {1776#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1776#true} is VALID [2018-11-23 11:18:00,890 INFO L273 TraceCheckUtils]: 8: Hoare triple {1776#true} assume !!~bvsgt32(~len, 0bv32); {1776#true} is VALID [2018-11-23 11:18:00,891 INFO L273 TraceCheckUtils]: 7: Hoare triple {1776#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1776#true} is VALID [2018-11-23 11:18:00,891 INFO L256 TraceCheckUtils]: 6: Hoare triple {1776#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1776#true} is VALID [2018-11-23 11:18:00,891 INFO L273 TraceCheckUtils]: 5: Hoare triple {1776#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {1776#true} is VALID [2018-11-23 11:18:00,891 INFO L256 TraceCheckUtils]: 4: Hoare triple {1776#true} call #t~ret14 := main(); {1776#true} is VALID [2018-11-23 11:18:00,892 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1776#true} {1776#true} #93#return; {1776#true} is VALID [2018-11-23 11:18:00,892 INFO L273 TraceCheckUtils]: 2: Hoare triple {1776#true} assume true; {1776#true} is VALID [2018-11-23 11:18:00,892 INFO L273 TraceCheckUtils]: 1: Hoare triple {1776#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1776#true} is VALID [2018-11-23 11:18:00,892 INFO L256 TraceCheckUtils]: 0: Hoare triple {1776#true} call ULTIMATE.init(); {1776#true} is VALID [2018-11-23 11:18:00,900 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 11:18:00,907 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:18:00,907 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 23 [2018-11-23 11:18:00,908 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 49 [2018-11-23 11:18:00,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:18:00,913 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 11:18:01,092 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:18:01,092 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 11:18:01,092 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 11:18:01,093 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=452, Unknown=0, NotChecked=0, Total=506 [2018-11-23 11:18:01,093 INFO L87 Difference]: Start difference. First operand 44 states and 49 transitions. Second operand 23 states. [2018-11-23 11:18:05,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:05,729 INFO L93 Difference]: Finished difference Result 63 states and 72 transitions. [2018-11-23 11:18:05,729 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 11:18:05,729 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 49 [2018-11-23 11:18:05,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:18:05,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 11:18:05,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 68 transitions. [2018-11-23 11:18:05,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 11:18:05,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 68 transitions. [2018-11-23 11:18:05,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 68 transitions. [2018-11-23 11:18:05,885 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:18:05,888 INFO L225 Difference]: With dead ends: 63 [2018-11-23 11:18:05,888 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 11:18:05,889 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=95, Invalid=775, Unknown=0, NotChecked=0, Total=870 [2018-11-23 11:18:05,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 11:18:05,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2018-11-23 11:18:05,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:18:05,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 46 states. [2018-11-23 11:18:05,928 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 46 states. [2018-11-23 11:18:05,928 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 46 states. [2018-11-23 11:18:05,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:05,932 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2018-11-23 11:18:05,932 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 53 transitions. [2018-11-23 11:18:05,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:05,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:05,933 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 47 states. [2018-11-23 11:18:05,933 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 47 states. [2018-11-23 11:18:05,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:05,936 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2018-11-23 11:18:05,936 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 53 transitions. [2018-11-23 11:18:05,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:05,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:05,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:18:05,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:18:05,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 11:18:05,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2018-11-23 11:18:05,939 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 49 [2018-11-23 11:18:05,939 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:18:05,939 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2018-11-23 11:18:05,939 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 11:18:05,939 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2018-11-23 11:18:05,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 11:18:05,940 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:18:05,941 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 11:18:05,941 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:18:05,941 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:18:05,941 INFO L82 PathProgramCache]: Analyzing trace with hash 1863528628, now seen corresponding path program 1 times [2018-11-23 11:18:05,942 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:18:05,942 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:18:05,972 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:18:06,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:06,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:06,158 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:18:06,308 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:18:06,313 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:18:06,321 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:06,324 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:06,336 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:18:06,337 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:12 [2018-11-23 11:18:06,346 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:06,347 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_100|, v_sll_create_~head~0.base_24]. (and (= (store |v_#memory_$Pointer$.base_100| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_100| sll_create_~head~0.base) (_ bv4 32) v_sll_create_~head~0.base_24)) |#memory_$Pointer$.base|) (not (= (_ bv0 32) v_sll_create_~head~0.base_24)) (= (_ bv0 32) sll_create_~head~0.offset)) [2018-11-23 11:18:06,347 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset)) [2018-11-23 11:18:06,912 INFO L256 TraceCheckUtils]: 0: Hoare triple {2357#true} call ULTIMATE.init(); {2357#true} is VALID [2018-11-23 11:18:06,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {2357#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2357#true} is VALID [2018-11-23 11:18:06,913 INFO L273 TraceCheckUtils]: 2: Hoare triple {2357#true} assume true; {2357#true} is VALID [2018-11-23 11:18:06,914 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2357#true} {2357#true} #93#return; {2357#true} is VALID [2018-11-23 11:18:06,915 INFO L256 TraceCheckUtils]: 4: Hoare triple {2357#true} call #t~ret14 := main(); {2357#true} is VALID [2018-11-23 11:18:06,916 INFO L273 TraceCheckUtils]: 5: Hoare triple {2357#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {2377#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:06,916 INFO L256 TraceCheckUtils]: 6: Hoare triple {2377#(= |main_~#s~0.offset| (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {2357#true} is VALID [2018-11-23 11:18:06,916 INFO L273 TraceCheckUtils]: 7: Hoare triple {2357#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2357#true} is VALID [2018-11-23 11:18:06,916 INFO L273 TraceCheckUtils]: 8: Hoare triple {2357#true} assume !!~bvsgt32(~len, 0bv32); {2357#true} is VALID [2018-11-23 11:18:06,916 INFO L256 TraceCheckUtils]: 9: Hoare triple {2357#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2357#true} is VALID [2018-11-23 11:18:06,917 INFO L273 TraceCheckUtils]: 10: Hoare triple {2357#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:18:06,917 INFO L273 TraceCheckUtils]: 11: Hoare triple {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:18:06,918 INFO L273 TraceCheckUtils]: 12: Hoare triple {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2400#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:18:06,919 INFO L273 TraceCheckUtils]: 13: Hoare triple {2400#(not (= (_ bv0 32) |node_create_#res.base|))} assume true; {2400#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:18:06,920 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {2400#(not (= (_ bv0 32) |node_create_#res.base|))} {2357#true} #91#return; {2407#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} is VALID [2018-11-23 11:18:06,922 INFO L273 TraceCheckUtils]: 15: Hoare triple {2407#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:06,922 INFO L273 TraceCheckUtils]: 16: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:06,923 INFO L273 TraceCheckUtils]: 17: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32); {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:06,923 INFO L256 TraceCheckUtils]: 18: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2357#true} is VALID [2018-11-23 11:18:06,924 INFO L273 TraceCheckUtils]: 19: Hoare triple {2357#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2424#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:18:06,924 INFO L273 TraceCheckUtils]: 20: Hoare triple {2424#(= node_create_~temp~0.offset (_ bv0 32))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {2424#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:18:06,926 INFO L273 TraceCheckUtils]: 21: Hoare triple {2424#(= node_create_~temp~0.offset (_ bv0 32))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2431#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:06,926 INFO L273 TraceCheckUtils]: 22: Hoare triple {2431#(= |node_create_#res.offset| (_ bv0 32))} assume true; {2431#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:06,928 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2431#(= |node_create_#res.offset| (_ bv0 32))} {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} #91#return; {2438#(and (not (= sll_create_~head~0.base (_ bv0 32))) (= (_ bv0 32) |sll_create_#t~ret4.offset|))} is VALID [2018-11-23 11:18:06,930 INFO L273 TraceCheckUtils]: 24: Hoare triple {2438#(and (not (= sll_create_~head~0.base (_ bv0 32))) (= (_ bv0 32) |sll_create_#t~ret4.offset|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2442#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:18:06,931 INFO L273 TraceCheckUtils]: 25: Hoare triple {2442#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2442#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:18:06,932 INFO L273 TraceCheckUtils]: 26: Hoare triple {2442#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} assume !~bvsgt32(~len, 0bv32); {2442#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} is VALID [2018-11-23 11:18:06,932 INFO L273 TraceCheckUtils]: 27: Hoare triple {2442#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) sll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2452#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:06,933 INFO L273 TraceCheckUtils]: 28: Hoare triple {2452#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} assume true; {2452#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:06,935 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {2452#(and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)))) (= |sll_create_#res.offset| (_ bv0 32)))} {2377#(= |main_~#s~0.offset| (_ bv0 32))} #87#return; {2459#(and (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:06,937 INFO L273 TraceCheckUtils]: 30: Hoare triple {2459#(and (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32)))))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {2463#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:06,938 INFO L273 TraceCheckUtils]: 31: Hoare triple {2463#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {2463#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:06,940 INFO L256 TraceCheckUtils]: 32: Hoare triple {2463#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {2470#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:06,941 INFO L273 TraceCheckUtils]: 33: Hoare triple {2470#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {2474#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} is VALID [2018-11-23 11:18:06,943 INFO L273 TraceCheckUtils]: 34: Hoare triple {2474#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2478#(and (= (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:06,945 INFO L273 TraceCheckUtils]: 35: Hoare triple {2478#(and (= (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {2482#(= |sll_remove_last_#t~mem10.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:06,946 INFO L273 TraceCheckUtils]: 36: Hoare triple {2482#(= |sll_remove_last_#t~mem10.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:06,946 INFO L273 TraceCheckUtils]: 37: Hoare triple {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:06,947 INFO L273 TraceCheckUtils]: 38: Hoare triple {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} assume true; {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:06,948 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} {2463#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} #89#return; {2358#false} is VALID [2018-11-23 11:18:06,949 INFO L273 TraceCheckUtils]: 40: Hoare triple {2358#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {2358#false} is VALID [2018-11-23 11:18:06,949 INFO L273 TraceCheckUtils]: 41: Hoare triple {2358#false} assume !!~bvsge32(~i~0, 0bv32); {2358#false} is VALID [2018-11-23 11:18:06,949 INFO L256 TraceCheckUtils]: 42: Hoare triple {2358#false} call sll_remove_last(~#s~0.base, ~#s~0.offset); {2358#false} is VALID [2018-11-23 11:18:06,949 INFO L273 TraceCheckUtils]: 43: Hoare triple {2358#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {2358#false} is VALID [2018-11-23 11:18:06,949 INFO L273 TraceCheckUtils]: 44: Hoare triple {2358#false} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {2358#false} is VALID [2018-11-23 11:18:06,950 INFO L273 TraceCheckUtils]: 45: Hoare triple {2358#false} assume true; {2358#false} is VALID [2018-11-23 11:18:06,950 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {2358#false} {2358#false} #89#return; {2358#false} is VALID [2018-11-23 11:18:06,950 INFO L273 TraceCheckUtils]: 47: Hoare triple {2358#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {2358#false} is VALID [2018-11-23 11:18:06,951 INFO L273 TraceCheckUtils]: 48: Hoare triple {2358#false} assume !~bvsge32(~i~0, 0bv32); {2358#false} is VALID [2018-11-23 11:18:06,951 INFO L273 TraceCheckUtils]: 49: Hoare triple {2358#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {2358#false} is VALID [2018-11-23 11:18:06,951 INFO L273 TraceCheckUtils]: 50: Hoare triple {2358#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {2358#false} is VALID [2018-11-23 11:18:06,951 INFO L273 TraceCheckUtils]: 51: Hoare triple {2358#false} assume !false; {2358#false} is VALID [2018-11-23 11:18:06,955 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 11:18:06,956 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:18:10,090 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 27 treesize of output 23 [2018-11-23 11:18:10,099 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 14 [2018-11-23 11:18:10,119 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:10,124 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:10,137 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:18:10,138 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:23 [2018-11-23 11:18:10,163 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:10,164 WARN L384 uantifierElimination]: Input elimination task: ∀ [|main_~#s~0.base|, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse1 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (or (not (= (select (select |#memory_$Pointer$.base| .cse0) (bvadd .cse1 (_ bv4 32))) (_ bv0 32))) (not (= .cse0 |main_#t~ret11.base|)) (not (= .cse1 |main_#t~ret11.offset|)))) [2018-11-23 11:18:10,164 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [|main_~#s~0.base|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (or (not (= (select (select |#memory_$Pointer$.base| .cse0) (bvadd |main_#t~ret11.offset| (_ bv4 32))) (_ bv0 32))) (not (= .cse0 |main_#t~ret11.base|)))) [2018-11-23 11:18:10,592 WARN L180 SmtUtils]: Spent 146.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 11:18:10,843 INFO L267 ElimStorePlain]: Start of recursive call 1: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:10,844 INFO L202 ElimStorePlain]: Needed 1 recursive calls to eliminate 4 variables, input treesize:48, output treesize:1 [2018-11-23 11:18:14,090 WARN L180 SmtUtils]: Spent 156.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 24 [2018-11-23 11:18:14,096 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 14 treesize of output 12 [2018-11-23 11:18:14,101 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 1 [2018-11-23 11:18:14,102 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:14,106 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:14,108 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 12 treesize of output 10 [2018-11-23 11:18:14,113 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 6 treesize of output 1 [2018-11-23 11:18:14,114 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:14,118 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:14,148 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:18:14,148 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:53, output treesize:14 [2018-11-23 11:18:14,154 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:14,154 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_$Pointer$.base|, |main_~#s~0.base|, |v_main_~#s~0.offset_BEFORE_CALL_10|]. (let ((.cse2 (bvadd |sll_create_#t~ret4.offset| (_ bv4 32)))) (let ((.cse0 (store |#memory_$Pointer$.base| |sll_create_#t~ret4.base| (store (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) .cse2 sll_create_~head~0.base)))) (let ((.cse1 (select (select .cse0 |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|))) (or (not (= (_ bv0 32) (select (select .cse0 .cse1) .cse2))) (not (= .cse1 |sll_create_#t~ret4.base|)))))) [2018-11-23 11:18:14,154 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (not (= sll_create_~head~0.base (_ bv0 32))))) (and (or .cse0 (not (= sll_create_~head~0.base |sll_create_#t~ret4.base|))) .cse0)) [2018-11-23 11:18:14,339 INFO L273 TraceCheckUtils]: 51: Hoare triple {2358#false} assume !false; {2358#false} is VALID [2018-11-23 11:18:14,340 INFO L273 TraceCheckUtils]: 50: Hoare triple {2358#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {2358#false} is VALID [2018-11-23 11:18:14,340 INFO L273 TraceCheckUtils]: 49: Hoare triple {2358#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {2358#false} is VALID [2018-11-23 11:18:14,340 INFO L273 TraceCheckUtils]: 48: Hoare triple {2358#false} assume !~bvsge32(~i~0, 0bv32); {2358#false} is VALID [2018-11-23 11:18:14,341 INFO L273 TraceCheckUtils]: 47: Hoare triple {2358#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {2358#false} is VALID [2018-11-23 11:18:14,341 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {2357#true} {2358#false} #89#return; {2358#false} is VALID [2018-11-23 11:18:14,341 INFO L273 TraceCheckUtils]: 45: Hoare triple {2357#true} assume true; {2357#true} is VALID [2018-11-23 11:18:14,341 INFO L273 TraceCheckUtils]: 44: Hoare triple {2357#true} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {2357#true} is VALID [2018-11-23 11:18:14,342 INFO L273 TraceCheckUtils]: 43: Hoare triple {2357#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {2357#true} is VALID [2018-11-23 11:18:14,342 INFO L256 TraceCheckUtils]: 42: Hoare triple {2358#false} call sll_remove_last(~#s~0.base, ~#s~0.offset); {2357#true} is VALID [2018-11-23 11:18:14,342 INFO L273 TraceCheckUtils]: 41: Hoare triple {2358#false} assume !!~bvsge32(~i~0, 0bv32); {2358#false} is VALID [2018-11-23 11:18:14,343 INFO L273 TraceCheckUtils]: 40: Hoare triple {2358#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {2358#false} is VALID [2018-11-23 11:18:14,350 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} {2568#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} #89#return; {2358#false} is VALID [2018-11-23 11:18:14,351 INFO L273 TraceCheckUtils]: 38: Hoare triple {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} assume true; {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:14,351 INFO L273 TraceCheckUtils]: 37: Hoare triple {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:14,352 INFO L273 TraceCheckUtils]: 36: Hoare triple {2581#(or (not (= |sll_remove_last_#t~mem10.base| (_ bv0 32))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {2486#(= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))} is VALID [2018-11-23 11:18:14,352 INFO L273 TraceCheckUtils]: 35: Hoare triple {2585#(or (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32))))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {2581#(or (not (= |sll_remove_last_#t~mem10.base| (_ bv0 32))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:14,353 INFO L273 TraceCheckUtils]: 34: Hoare triple {2589#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32))))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2585#(or (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32))))))} is VALID [2018-11-23 11:18:14,355 INFO L273 TraceCheckUtils]: 33: Hoare triple {2593#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {2589#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32))))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:14,357 INFO L256 TraceCheckUtils]: 32: Hoare triple {2568#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {2593#(or (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:14,357 INFO L273 TraceCheckUtils]: 31: Hoare triple {2568#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {2568#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:18:14,359 INFO L273 TraceCheckUtils]: 30: Hoare triple {2600#(forall ((|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd |main_#t~ret11.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.base|))))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {2568#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:18:14,363 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {2607#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd |sll_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) |sll_create_#res.base|))))} {2357#true} #87#return; {2600#(forall ((|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd |main_#t~ret11.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.base|))))} is VALID [2018-11-23 11:18:14,364 INFO L273 TraceCheckUtils]: 28: Hoare triple {2607#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd |sll_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) |sll_create_#res.base|))))} assume true; {2607#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd |sll_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) |sll_create_#res.base|))))} is VALID [2018-11-23 11:18:14,365 INFO L273 TraceCheckUtils]: 27: Hoare triple {2614#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd sll_create_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) sll_create_~head~0.base))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2607#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd |sll_create_#res.offset| (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) |sll_create_#res.base|))))} is VALID [2018-11-23 11:18:14,366 INFO L273 TraceCheckUtils]: 26: Hoare triple {2614#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd sll_create_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) sll_create_~head~0.base))))} assume !~bvsgt32(~len, 0bv32); {2614#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd sll_create_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) sll_create_~head~0.base))))} is VALID [2018-11-23 11:18:14,366 INFO L273 TraceCheckUtils]: 25: Hoare triple {2614#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd sll_create_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) sll_create_~head~0.base))))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2614#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd sll_create_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) sll_create_~head~0.base))))} is VALID [2018-11-23 11:18:14,371 INFO L273 TraceCheckUtils]: 24: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2614#(forall ((|v_main_~#s~0.offset_BEFORE_CALL_10| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|)) (bvadd sll_create_~head~0.offset (_ bv4 32))) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_10|) sll_create_~head~0.base))))} is VALID [2018-11-23 11:18:14,373 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2357#true} {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} #91#return; {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:14,373 INFO L273 TraceCheckUtils]: 22: Hoare triple {2357#true} assume true; {2357#true} is VALID [2018-11-23 11:18:14,373 INFO L273 TraceCheckUtils]: 21: Hoare triple {2357#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2357#true} is VALID [2018-11-23 11:18:14,374 INFO L273 TraceCheckUtils]: 20: Hoare triple {2357#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {2357#true} is VALID [2018-11-23 11:18:14,374 INFO L273 TraceCheckUtils]: 19: Hoare triple {2357#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2357#true} is VALID [2018-11-23 11:18:14,374 INFO L256 TraceCheckUtils]: 18: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2357#true} is VALID [2018-11-23 11:18:14,377 INFO L273 TraceCheckUtils]: 17: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32); {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:14,377 INFO L273 TraceCheckUtils]: 16: Hoare triple {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:14,378 INFO L273 TraceCheckUtils]: 15: Hoare triple {2407#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2411#(not (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:18:14,379 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {2400#(not (= (_ bv0 32) |node_create_#res.base|))} {2357#true} #91#return; {2407#(not (= (_ bv0 32) |sll_create_#t~ret4.base|))} is VALID [2018-11-23 11:18:14,379 INFO L273 TraceCheckUtils]: 13: Hoare triple {2400#(not (= (_ bv0 32) |node_create_#res.base|))} assume true; {2400#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:18:14,384 INFO L273 TraceCheckUtils]: 12: Hoare triple {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2400#(not (= (_ bv0 32) |node_create_#res.base|))} is VALID [2018-11-23 11:18:14,385 INFO L273 TraceCheckUtils]: 11: Hoare triple {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:18:14,385 INFO L273 TraceCheckUtils]: 10: Hoare triple {2357#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2393#(not (= (_ bv0 32) node_create_~temp~0.base))} is VALID [2018-11-23 11:18:14,385 INFO L256 TraceCheckUtils]: 9: Hoare triple {2357#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L273 TraceCheckUtils]: 8: Hoare triple {2357#true} assume !!~bvsgt32(~len, 0bv32); {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L273 TraceCheckUtils]: 7: Hoare triple {2357#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L256 TraceCheckUtils]: 6: Hoare triple {2357#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L273 TraceCheckUtils]: 5: Hoare triple {2357#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L256 TraceCheckUtils]: 4: Hoare triple {2357#true} call #t~ret14 := main(); {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2357#true} {2357#true} #93#return; {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L273 TraceCheckUtils]: 2: Hoare triple {2357#true} assume true; {2357#true} is VALID [2018-11-23 11:18:14,386 INFO L273 TraceCheckUtils]: 1: Hoare triple {2357#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2357#true} is VALID [2018-11-23 11:18:14,387 INFO L256 TraceCheckUtils]: 0: Hoare triple {2357#true} call ULTIMATE.init(); {2357#true} is VALID [2018-11-23 11:18:14,391 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 11:18:14,393 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:18:14,394 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15] total 27 [2018-11-23 11:18:14,395 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 52 [2018-11-23 11:18:14,395 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:18:14,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 11:18:14,541 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:18:14,541 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 11:18:14,541 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 11:18:14,542 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=634, Unknown=0, NotChecked=0, Total=702 [2018-11-23 11:18:14,542 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand 27 states. [2018-11-23 11:18:20,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:20,462 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2018-11-23 11:18:20,462 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 11:18:20,462 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 52 [2018-11-23 11:18:20,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:18:20,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 11:18:20,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 72 transitions. [2018-11-23 11:18:20,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 11:18:20,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 72 transitions. [2018-11-23 11:18:20,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 72 transitions. [2018-11-23 11:18:20,615 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:18:20,617 INFO L225 Difference]: With dead ends: 70 [2018-11-23 11:18:20,617 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 11:18:20,618 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=133, Invalid=1127, Unknown=0, NotChecked=0, Total=1260 [2018-11-23 11:18:20,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 11:18:20,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 49. [2018-11-23 11:18:20,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:18:20,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 49 states. [2018-11-23 11:18:20,679 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 49 states. [2018-11-23 11:18:20,679 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 49 states. [2018-11-23 11:18:20,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:20,682 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-23 11:18:20,682 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 11:18:20,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:20,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:20,683 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 52 states. [2018-11-23 11:18:20,683 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 52 states. [2018-11-23 11:18:20,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:20,686 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2018-11-23 11:18:20,686 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 11:18:20,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:20,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:20,686 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:18:20,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:18:20,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 11:18:20,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 55 transitions. [2018-11-23 11:18:20,689 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 55 transitions. Word has length 52 [2018-11-23 11:18:20,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:18:20,689 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 55 transitions. [2018-11-23 11:18:20,690 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 11:18:20,690 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2018-11-23 11:18:20,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 11:18:20,690 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:18:20,691 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 11:18:20,691 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:18:20,691 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:18:20,691 INFO L82 PathProgramCache]: Analyzing trace with hash -1126826001, now seen corresponding path program 1 times [2018-11-23 11:18:20,692 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:18:20,692 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:18:20,717 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:18:20,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:20,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:20,914 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:18:21,000 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:18:21,008 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:18:21,009 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,014 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,034 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:18:21,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:18:21,040 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,043 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,052 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,052 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:23, output treesize:15 [2018-11-23 11:18:21,281 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:18:21,286 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:18:21,288 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,291 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,303 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:18:21,309 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:18:21,310 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,312 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,317 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:21,317 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:29, output treesize:7 [2018-11-23 11:18:21,323 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:21,324 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, |main_~#s~0.base|, |#memory_$Pointer$.offset|]. (let ((.cse1 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) (_ bv0 32))) (.cse0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) (_ bv0 32)))) (and (= (_ bv0 32) .cse0) (= (_ bv0 32) .cse1) (= |main_#t~mem13.base| .cse1) (= |main_#t~mem13.offset| .cse0))) [2018-11-23 11:18:21,324 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_#t~mem13.offset| (_ bv0 32)) (= |main_#t~mem13.base| (_ bv0 32))) [2018-11-23 11:18:21,339 INFO L256 TraceCheckUtils]: 0: Hoare triple {2986#true} call ULTIMATE.init(); {2986#true} is VALID [2018-11-23 11:18:21,339 INFO L273 TraceCheckUtils]: 1: Hoare triple {2986#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2986#true} is VALID [2018-11-23 11:18:21,339 INFO L273 TraceCheckUtils]: 2: Hoare triple {2986#true} assume true; {2986#true} is VALID [2018-11-23 11:18:21,340 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2986#true} {2986#true} #93#return; {2986#true} is VALID [2018-11-23 11:18:21,340 INFO L256 TraceCheckUtils]: 4: Hoare triple {2986#true} call #t~ret14 := main(); {2986#true} is VALID [2018-11-23 11:18:21,340 INFO L273 TraceCheckUtils]: 5: Hoare triple {2986#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,341 INFO L256 TraceCheckUtils]: 6: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {2986#true} is VALID [2018-11-23 11:18:21,341 INFO L273 TraceCheckUtils]: 7: Hoare triple {2986#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2986#true} is VALID [2018-11-23 11:18:21,341 INFO L273 TraceCheckUtils]: 8: Hoare triple {2986#true} assume !!~bvsgt32(~len, 0bv32); {2986#true} is VALID [2018-11-23 11:18:21,341 INFO L256 TraceCheckUtils]: 9: Hoare triple {2986#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2986#true} is VALID [2018-11-23 11:18:21,341 INFO L273 TraceCheckUtils]: 10: Hoare triple {2986#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2986#true} is VALID [2018-11-23 11:18:21,341 INFO L273 TraceCheckUtils]: 11: Hoare triple {2986#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {2986#true} is VALID [2018-11-23 11:18:21,341 INFO L273 TraceCheckUtils]: 12: Hoare triple {2986#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L273 TraceCheckUtils]: 13: Hoare triple {2986#true} assume true; {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {2986#true} {2986#true} #91#return; {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L273 TraceCheckUtils]: 15: Hoare triple {2986#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L273 TraceCheckUtils]: 16: Hoare triple {2986#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L273 TraceCheckUtils]: 17: Hoare triple {2986#true} assume !!~bvsgt32(~len, 0bv32); {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L256 TraceCheckUtils]: 18: Hoare triple {2986#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L273 TraceCheckUtils]: 19: Hoare triple {2986#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2986#true} is VALID [2018-11-23 11:18:21,342 INFO L273 TraceCheckUtils]: 20: Hoare triple {2986#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L273 TraceCheckUtils]: 21: Hoare triple {2986#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L273 TraceCheckUtils]: 22: Hoare triple {2986#true} assume true; {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2986#true} {2986#true} #91#return; {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L273 TraceCheckUtils]: 24: Hoare triple {2986#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L273 TraceCheckUtils]: 25: Hoare triple {2986#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L273 TraceCheckUtils]: 26: Hoare triple {2986#true} assume !~bvsgt32(~len, 0bv32); {2986#true} is VALID [2018-11-23 11:18:21,343 INFO L273 TraceCheckUtils]: 27: Hoare triple {2986#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2986#true} is VALID [2018-11-23 11:18:21,344 INFO L273 TraceCheckUtils]: 28: Hoare triple {2986#true} assume true; {2986#true} is VALID [2018-11-23 11:18:21,345 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {2986#true} {3006#(= |main_~#s~0.offset| (_ bv0 32))} #87#return; {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,345 INFO L273 TraceCheckUtils]: 30: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,346 INFO L273 TraceCheckUtils]: 31: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} assume !!~bvsge32(~i~0, 0bv32); {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,346 INFO L256 TraceCheckUtils]: 32: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {2986#true} is VALID [2018-11-23 11:18:21,346 INFO L273 TraceCheckUtils]: 33: Hoare triple {2986#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {2986#true} is VALID [2018-11-23 11:18:21,346 INFO L273 TraceCheckUtils]: 34: Hoare triple {2986#true} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2986#true} is VALID [2018-11-23 11:18:21,346 INFO L273 TraceCheckUtils]: 35: Hoare triple {2986#true} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {2986#true} is VALID [2018-11-23 11:18:21,346 INFO L273 TraceCheckUtils]: 36: Hoare triple {2986#true} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2986#true} is VALID [2018-11-23 11:18:21,346 INFO L273 TraceCheckUtils]: 37: Hoare triple {2986#true} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {2986#true} is VALID [2018-11-23 11:18:21,347 INFO L273 TraceCheckUtils]: 38: Hoare triple {2986#true} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {2986#true} is VALID [2018-11-23 11:18:21,347 INFO L273 TraceCheckUtils]: 39: Hoare triple {2986#true} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {2986#true} is VALID [2018-11-23 11:18:21,347 INFO L273 TraceCheckUtils]: 40: Hoare triple {2986#true} assume true; {2986#true} is VALID [2018-11-23 11:18:21,348 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2986#true} {3006#(= |main_~#s~0.offset| (_ bv0 32))} #89#return; {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,348 INFO L273 TraceCheckUtils]: 42: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,348 INFO L273 TraceCheckUtils]: 43: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} assume !!~bvsge32(~i~0, 0bv32); {3006#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:21,348 INFO L256 TraceCheckUtils]: 44: Hoare triple {3006#(= |main_~#s~0.offset| (_ bv0 32))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {2986#true} is VALID [2018-11-23 11:18:21,349 INFO L273 TraceCheckUtils]: 45: Hoare triple {2986#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {3127#(and (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} is VALID [2018-11-23 11:18:21,350 INFO L273 TraceCheckUtils]: 46: Hoare triple {3127#(and (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} assume 0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call ULTIMATE.dealloc(#t~mem7.base, #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(0bv32, 0bv32, ~head.base, ~head.offset, 4bv32); {3131#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:18:21,351 INFO L273 TraceCheckUtils]: 47: Hoare triple {3131#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv0 32)))} assume true; {3131#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:18:21,353 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3131#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv0 32)))} {3006#(= |main_~#s~0.offset| (_ bv0 32))} #89#return; {3138#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-23 11:18:21,355 INFO L273 TraceCheckUtils]: 49: Hoare triple {3138#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3138#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-23 11:18:21,355 INFO L273 TraceCheckUtils]: 50: Hoare triple {3138#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume !~bvsge32(~i~0, 0bv32); {3138#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-23 11:18:21,356 INFO L273 TraceCheckUtils]: 51: Hoare triple {3138#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {3148#(and (= |main_#t~mem13.offset| (_ bv0 32)) (= |main_#t~mem13.base| (_ bv0 32)))} is VALID [2018-11-23 11:18:21,356 INFO L273 TraceCheckUtils]: 52: Hoare triple {3148#(and (= |main_#t~mem13.offset| (_ bv0 32)) (= |main_#t~mem13.base| (_ bv0 32)))} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {2987#false} is VALID [2018-11-23 11:18:21,357 INFO L273 TraceCheckUtils]: 53: Hoare triple {2987#false} assume !false; {2987#false} is VALID [2018-11-23 11:18:21,360 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 11:18:21,360 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:18:21,363 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:18:21,363 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 11:18:21,363 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 54 [2018-11-23 11:18:21,367 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:18:21,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 11:18:21,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:18:21,425 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 11:18:21,425 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 11:18:21,425 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:18:21,425 INFO L87 Difference]: Start difference. First operand 49 states and 55 transitions. Second operand 7 states. [2018-11-23 11:18:22,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:22,710 INFO L93 Difference]: Finished difference Result 68 states and 78 transitions. [2018-11-23 11:18:22,711 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 11:18:22,711 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 54 [2018-11-23 11:18:22,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:18:22,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 11:18:22,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2018-11-23 11:18:22,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 11:18:22,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2018-11-23 11:18:22,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2018-11-23 11:18:22,801 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:18:22,804 INFO L225 Difference]: With dead ends: 68 [2018-11-23 11:18:22,804 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 11:18:22,805 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:18:22,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 11:18:22,876 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2018-11-23 11:18:22,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:18:22,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 49 states. [2018-11-23 11:18:22,877 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 49 states. [2018-11-23 11:18:22,877 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 49 states. [2018-11-23 11:18:22,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:22,880 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2018-11-23 11:18:22,880 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2018-11-23 11:18:22,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:22,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:22,881 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 49 states. [2018-11-23 11:18:22,881 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 49 states. [2018-11-23 11:18:22,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:22,883 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2018-11-23 11:18:22,883 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2018-11-23 11:18:22,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:22,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:22,884 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:18:22,884 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:18:22,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 11:18:22,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 54 transitions. [2018-11-23 11:18:22,886 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 54 transitions. Word has length 54 [2018-11-23 11:18:22,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:18:22,887 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 54 transitions. [2018-11-23 11:18:22,887 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 11:18:22,887 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2018-11-23 11:18:22,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2018-11-23 11:18:22,888 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:18:22,888 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 2, 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] [2018-11-23 11:18:22,888 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:18:22,888 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:18:22,889 INFO L82 PathProgramCache]: Analyzing trace with hash -1650106802, now seen corresponding path program 1 times [2018-11-23 11:18:22,889 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:18:22,889 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:18:22,908 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:18:23,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:23,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:23,092 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:18:23,403 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 53 treesize of output 56 [2018-11-23 11:18:23,414 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 49 treesize of output 38 [2018-11-23 11:18:23,422 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:23,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 43 treesize of output 42 [2018-11-23 11:18:23,495 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:18:23,589 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 38 treesize of output 32 [2018-11-23 11:18:23,592 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:18:23,657 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:18:23,797 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 28 [2018-11-23 11:18:23,819 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 18 [2018-11-23 11:18:23,844 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:23,856 INFO L267 ElimStorePlain]: Start of recursive call 6: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:23,867 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 24 [2018-11-23 11:18:23,875 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 4 [2018-11-23 11:18:23,878 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:23,893 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:23,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 36 [2018-11-23 11:18:23,930 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 17 [2018-11-23 11:18:23,932 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:23,999 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:18:24,001 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 16 [2018-11-23 11:18:24,020 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,029 INFO L267 ElimStorePlain]: Start of recursive call 10: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,087 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 53 treesize of output 53 [2018-11-23 11:18:24,127 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 49 treesize of output 40 [2018-11-23 11:18:24,129 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,209 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 41 treesize of output 41 [2018-11-23 11:18:24,239 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:18:24,306 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 36 [2018-11-23 11:18:24,308 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:18:24,364 INFO L267 ElimStorePlain]: Start of recursive call 13: 3 dim-1 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:18:24,433 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 36 treesize of output 27 [2018-11-23 11:18:24,445 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:18:24,446 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,461 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 4 [2018-11-23 11:18:24,485 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,517 INFO L267 ElimStorePlain]: Start of recursive call 17: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,546 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 29 [2018-11-23 11:18:24,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 15 [2018-11-23 11:18:24,562 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,592 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 13 [2018-11-23 11:18:24,594 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,660 INFO L267 ElimStorePlain]: Start of recursive call 20: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,682 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 29 [2018-11-23 11:18:24,693 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 11 [2018-11-23 11:18:24,694 INFO L267 ElimStorePlain]: Start of recursive call 24: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,724 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 4 [2018-11-23 11:18:24,725 INFO L267 ElimStorePlain]: Start of recursive call 25: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,732 INFO L267 ElimStorePlain]: Start of recursive call 23: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:24,742 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:18:24,743 INFO L202 ElimStorePlain]: Needed 25 recursive calls to eliminate 8 variables, input treesize:107, output treesize:9 [2018-11-23 11:18:24,753 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:24,754 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_6, sll_remove_last_~head.base, sll_remove_last_~head.offset, v_prenex_5, |#memory_$Pointer$.base|, v_prenex_2, v_prenex_1, |#memory_$Pointer$.offset|]. (or (let ((.cse1 (select (select v_prenex_6 sll_remove_last_~head.base) sll_remove_last_~head.offset)) (.cse2 (bvadd (select (select v_prenex_5 sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))) (let ((.cse0 (select (select v_prenex_5 .cse1) .cse2))) (and (not (= (_ bv0 32) .cse0)) (= |sll_remove_last_#t~mem10.base| (select (select v_prenex_6 .cse1) .cse2)) (= |sll_remove_last_#t~mem10.offset| .cse0)))) (let ((.cse4 (select (select |#memory_$Pointer$.base| v_prenex_2) v_prenex_1)) (.cse5 (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_2) v_prenex_1) (_ bv4 32)))) (let ((.cse3 (select (select |#memory_$Pointer$.base| .cse4) .cse5))) (and (= |sll_remove_last_#t~mem10.base| .cse3) (not (= (_ bv0 32) .cse3)) (= |sll_remove_last_#t~mem10.offset| (select (select |#memory_$Pointer$.offset| .cse4) .cse5)))))) [2018-11-23 11:18:24,754 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (or (not (= |sll_remove_last_#t~mem10.offset| (_ bv0 32))) (not (= |sll_remove_last_#t~mem10.base| (_ bv0 32)))) [2018-11-23 11:18:24,780 INFO L256 TraceCheckUtils]: 0: Hoare triple {3422#true} call ULTIMATE.init(); {3422#true} is VALID [2018-11-23 11:18:24,780 INFO L273 TraceCheckUtils]: 1: Hoare triple {3422#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3422#true} is VALID [2018-11-23 11:18:24,781 INFO L273 TraceCheckUtils]: 2: Hoare triple {3422#true} assume true; {3422#true} is VALID [2018-11-23 11:18:24,781 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3422#true} {3422#true} #93#return; {3422#true} is VALID [2018-11-23 11:18:24,781 INFO L256 TraceCheckUtils]: 4: Hoare triple {3422#true} call #t~ret14 := main(); {3422#true} is VALID [2018-11-23 11:18:24,781 INFO L273 TraceCheckUtils]: 5: Hoare triple {3422#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {3422#true} is VALID [2018-11-23 11:18:24,781 INFO L256 TraceCheckUtils]: 6: Hoare triple {3422#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {3422#true} is VALID [2018-11-23 11:18:24,782 INFO L273 TraceCheckUtils]: 7: Hoare triple {3422#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3422#true} is VALID [2018-11-23 11:18:24,782 INFO L273 TraceCheckUtils]: 8: Hoare triple {3422#true} assume !!~bvsgt32(~len, 0bv32); {3422#true} is VALID [2018-11-23 11:18:24,782 INFO L256 TraceCheckUtils]: 9: Hoare triple {3422#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {3422#true} is VALID [2018-11-23 11:18:24,782 INFO L273 TraceCheckUtils]: 10: Hoare triple {3422#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {3422#true} is VALID [2018-11-23 11:18:24,782 INFO L273 TraceCheckUtils]: 11: Hoare triple {3422#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {3422#true} is VALID [2018-11-23 11:18:24,782 INFO L273 TraceCheckUtils]: 12: Hoare triple {3422#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L273 TraceCheckUtils]: 13: Hoare triple {3422#true} assume true; {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {3422#true} {3422#true} #91#return; {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L273 TraceCheckUtils]: 15: Hoare triple {3422#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L273 TraceCheckUtils]: 16: Hoare triple {3422#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L273 TraceCheckUtils]: 17: Hoare triple {3422#true} assume !!~bvsgt32(~len, 0bv32); {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L256 TraceCheckUtils]: 18: Hoare triple {3422#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L273 TraceCheckUtils]: 19: Hoare triple {3422#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {3422#true} is VALID [2018-11-23 11:18:24,783 INFO L273 TraceCheckUtils]: 20: Hoare triple {3422#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L273 TraceCheckUtils]: 21: Hoare triple {3422#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L273 TraceCheckUtils]: 22: Hoare triple {3422#true} assume true; {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3422#true} {3422#true} #91#return; {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L273 TraceCheckUtils]: 24: Hoare triple {3422#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L273 TraceCheckUtils]: 25: Hoare triple {3422#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L273 TraceCheckUtils]: 26: Hoare triple {3422#true} assume !~bvsgt32(~len, 0bv32); {3422#true} is VALID [2018-11-23 11:18:24,784 INFO L273 TraceCheckUtils]: 27: Hoare triple {3422#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L273 TraceCheckUtils]: 28: Hoare triple {3422#true} assume true; {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3422#true} {3422#true} #87#return; {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L273 TraceCheckUtils]: 30: Hoare triple {3422#true} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L273 TraceCheckUtils]: 31: Hoare triple {3422#true} assume !!~bvsge32(~i~0, 0bv32); {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L256 TraceCheckUtils]: 32: Hoare triple {3422#true} call sll_remove_last(~#s~0.base, ~#s~0.offset); {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L273 TraceCheckUtils]: 33: Hoare triple {3422#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L273 TraceCheckUtils]: 34: Hoare triple {3422#true} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {3422#true} is VALID [2018-11-23 11:18:24,785 INFO L273 TraceCheckUtils]: 35: Hoare triple {3422#true} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 36: Hoare triple {3422#true} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 37: Hoare triple {3422#true} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 38: Hoare triple {3422#true} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 39: Hoare triple {3422#true} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 40: Hoare triple {3422#true} assume true; {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {3422#true} {3422#true} #89#return; {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 42: Hoare triple {3422#true} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3422#true} is VALID [2018-11-23 11:18:24,786 INFO L273 TraceCheckUtils]: 43: Hoare triple {3422#true} assume !!~bvsge32(~i~0, 0bv32); {3422#true} is VALID [2018-11-23 11:18:24,787 INFO L256 TraceCheckUtils]: 44: Hoare triple {3422#true} call sll_remove_last(~#s~0.base, ~#s~0.offset); {3422#true} is VALID [2018-11-23 11:18:24,788 INFO L273 TraceCheckUtils]: 45: Hoare triple {3422#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {3562#(and (= |sll_remove_last_#t~mem6.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))) (= |sll_remove_last_#t~mem6.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))))} is VALID [2018-11-23 11:18:24,942 INFO L273 TraceCheckUtils]: 46: Hoare triple {3562#(and (= |sll_remove_last_#t~mem6.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))) (= |sll_remove_last_#t~mem6.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {3566#(or (exists ((v_prenex_2 (_ BitVec 32)) (v_prenex_1 (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_2) v_prenex_1)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_2) v_prenex_1) (_ bv4 32))))) (= sll_remove_last_~last~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_2) v_prenex_1)) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| v_prenex_2) v_prenex_1)))) (exists ((sll_remove_last_~head.offset (_ BitVec 32)) (sll_remove_last_~head.base (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32))))) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (= sll_remove_last_~last~0.offset (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset)))))} is VALID [2018-11-23 11:18:26,681 INFO L273 TraceCheckUtils]: 47: Hoare triple {3566#(or (exists ((v_prenex_2 (_ BitVec 32)) (v_prenex_1 (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_2) v_prenex_1)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_2) v_prenex_1) (_ bv4 32))))) (= sll_remove_last_~last~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_2) v_prenex_1)) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| v_prenex_2) v_prenex_1)))) (exists ((sll_remove_last_~head.offset (_ BitVec 32)) (sll_remove_last_~head.base (_ BitVec 32))) (and (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32))))) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (= sll_remove_last_~last~0.offset (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset)))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {3570#(or (not (= |sll_remove_last_#t~mem10.base| (_ bv0 32))) (not (= |sll_remove_last_#t~mem10.offset| (_ bv0 32))))} is VALID [2018-11-23 11:18:26,682 INFO L273 TraceCheckUtils]: 48: Hoare triple {3570#(or (not (= |sll_remove_last_#t~mem10.base| (_ bv0 32))) (not (= |sll_remove_last_#t~mem10.offset| (_ bv0 32))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {3423#false} is VALID [2018-11-23 11:18:26,682 INFO L273 TraceCheckUtils]: 49: Hoare triple {3423#false} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {3423#false} is VALID [2018-11-23 11:18:26,683 INFO L273 TraceCheckUtils]: 50: Hoare triple {3423#false} assume true; {3423#false} is VALID [2018-11-23 11:18:26,683 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3423#false} {3422#true} #89#return; {3423#false} is VALID [2018-11-23 11:18:26,683 INFO L273 TraceCheckUtils]: 52: Hoare triple {3423#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3423#false} is VALID [2018-11-23 11:18:26,683 INFO L273 TraceCheckUtils]: 53: Hoare triple {3423#false} assume !~bvsge32(~i~0, 0bv32); {3423#false} is VALID [2018-11-23 11:18:26,683 INFO L273 TraceCheckUtils]: 54: Hoare triple {3423#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {3423#false} is VALID [2018-11-23 11:18:26,684 INFO L273 TraceCheckUtils]: 55: Hoare triple {3423#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {3423#false} is VALID [2018-11-23 11:18:26,684 INFO L273 TraceCheckUtils]: 56: Hoare triple {3423#false} assume !false; {3423#false} is VALID [2018-11-23 11:18:26,688 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 11 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 11:18:26,688 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:18:26,695 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:18:26,696 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 11:18:26,696 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 57 [2018-11-23 11:18:26,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:18:26,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 11:18:28,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 11:18:28,758 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 11:18:28,758 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 11:18:28,758 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:18:28,759 INFO L87 Difference]: Start difference. First operand 49 states and 54 transitions. Second operand 5 states. [2018-11-23 11:18:30,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:30,218 INFO L93 Difference]: Finished difference Result 65 states and 73 transitions. [2018-11-23 11:18:30,218 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:18:30,218 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 57 [2018-11-23 11:18:30,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:18:30,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:18:30,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-11-23 11:18:30,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:18:30,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-11-23 11:18:30,222 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-11-23 11:18:31,596 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:18:31,597 INFO L225 Difference]: With dead ends: 65 [2018-11-23 11:18:31,598 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 11:18:31,598 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:18:31,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 11:18:31,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2018-11-23 11:18:31,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:18:31,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 46 states. [2018-11-23 11:18:31,661 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 46 states. [2018-11-23 11:18:31,662 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 46 states. [2018-11-23 11:18:31,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:31,664 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2018-11-23 11:18:31,664 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2018-11-23 11:18:31,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:31,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:31,665 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 46 states. [2018-11-23 11:18:31,665 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 46 states. [2018-11-23 11:18:31,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:18:31,667 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2018-11-23 11:18:31,667 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2018-11-23 11:18:31,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:18:31,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:18:31,668 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:18:31,668 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:18:31,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 11:18:31,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2018-11-23 11:18:31,671 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 57 [2018-11-23 11:18:31,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:18:31,671 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2018-11-23 11:18:31,671 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 11:18:31,671 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2018-11-23 11:18:31,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-23 11:18:31,672 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:18:31,672 INFO L402 BasicCegarLoop]: trace histogram [4, 2, 2, 2, 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] [2018-11-23 11:18:31,673 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:18:31,673 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:18:31,673 INFO L82 PathProgramCache]: Analyzing trace with hash -1171875021, now seen corresponding path program 2 times [2018-11-23 11:18:31,674 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:18:31,674 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:18:31,698 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:18:31,926 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:18:31,927 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:18:32,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:18:32,028 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:18:32,118 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:18:32,147 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:18:32,149 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,154 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,176 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:18:32,183 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:18:32,184 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,189 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,203 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,203 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:26, output treesize:3 [2018-11-23 11:18:32,230 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:32,230 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_141|, v_sll_create_~head~0.base_32, |v_#memory_$Pointer$.offset_135|, v_sll_create_~head~0.offset_30]. (and (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_141| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_141| sll_create_~head~0.base) (_ bv4 32) v_sll_create_~head~0.base_32))) (= (_ bv0 32) sll_create_~head~0.offset) (= (store |v_#memory_$Pointer$.offset_135| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.offset_135| sll_create_~head~0.base) (_ bv4 32) v_sll_create_~head~0.offset_30)) |#memory_$Pointer$.offset|)) [2018-11-23 11:18:32,230 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) sll_create_~head~0.offset) [2018-11-23 11:18:32,834 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 3 new quantified variables, introduced 3 case distinctions, treesize of input 51 treesize of output 58 [2018-11-23 11:18:32,844 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 52 treesize of output 51 [2018-11-23 11:18:32,846 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,893 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:32,960 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 50 treesize of output 62 [2018-11-23 11:18:32,975 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 51 treesize of output 50 [2018-11-23 11:18:32,978 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:18:33,059 INFO L267 ElimStorePlain]: Start of recursive call 4: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:33,079 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:18:33,079 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:61, output treesize:45 [2018-11-23 11:18:35,822 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:18:35,822 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_11|, |v_#memory_$Pointer$.offset_BEFORE_CALL_12|]. (let ((.cse2 (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_12| |main_~#s~0.base|) |main_~#s~0.offset|))) (let ((.cse0 (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_11| |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse1 (bvadd .cse2 (_ bv4 32)))) (and (= |main_~#s~0.offset| (_ bv0 32)) (= (store |v_#memory_$Pointer$.offset_BEFORE_CALL_12| .cse0 (store (select |v_#memory_$Pointer$.offset_BEFORE_CALL_12| .cse0) .cse1 (_ bv0 32))) |#memory_$Pointer$.offset|) (= .cse2 (_ bv0 32)) (= (store |v_#memory_$Pointer$.base_BEFORE_CALL_11| .cse0 (store (select |v_#memory_$Pointer$.base_BEFORE_CALL_11| .cse0) .cse1 (_ bv0 32))) |#memory_$Pointer$.base|)))) [2018-11-23 11:18:35,822 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse1 (bvadd .cse2 (_ bv4 32)))) (and (= (select (select |#memory_$Pointer$.base| .cse0) .cse1) (_ bv0 32)) (= .cse2 (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| .cse0) .cse1))))) [2018-11-23 11:18:36,372 INFO L256 TraceCheckUtils]: 0: Hoare triple {3850#true} call ULTIMATE.init(); {3850#true} is VALID [2018-11-23 11:18:36,372 INFO L273 TraceCheckUtils]: 1: Hoare triple {3850#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3850#true} is VALID [2018-11-23 11:18:36,372 INFO L273 TraceCheckUtils]: 2: Hoare triple {3850#true} assume true; {3850#true} is VALID [2018-11-23 11:18:36,373 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3850#true} {3850#true} #93#return; {3850#true} is VALID [2018-11-23 11:18:36,373 INFO L256 TraceCheckUtils]: 4: Hoare triple {3850#true} call #t~ret14 := main(); {3850#true} is VALID [2018-11-23 11:18:36,374 INFO L273 TraceCheckUtils]: 5: Hoare triple {3850#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {3870#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:36,374 INFO L256 TraceCheckUtils]: 6: Hoare triple {3870#(= |main_~#s~0.offset| (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {3850#true} is VALID [2018-11-23 11:18:36,374 INFO L273 TraceCheckUtils]: 7: Hoare triple {3850#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3850#true} is VALID [2018-11-23 11:18:36,374 INFO L273 TraceCheckUtils]: 8: Hoare triple {3850#true} assume !!~bvsgt32(~len, 0bv32); {3850#true} is VALID [2018-11-23 11:18:36,374 INFO L256 TraceCheckUtils]: 9: Hoare triple {3850#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {3850#true} is VALID [2018-11-23 11:18:36,374 INFO L273 TraceCheckUtils]: 10: Hoare triple {3850#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {3850#true} is VALID [2018-11-23 11:18:36,374 INFO L273 TraceCheckUtils]: 11: Hoare triple {3850#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L273 TraceCheckUtils]: 12: Hoare triple {3850#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L273 TraceCheckUtils]: 13: Hoare triple {3850#true} assume true; {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {3850#true} {3850#true} #91#return; {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L273 TraceCheckUtils]: 15: Hoare triple {3850#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L273 TraceCheckUtils]: 16: Hoare triple {3850#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L273 TraceCheckUtils]: 17: Hoare triple {3850#true} assume !!~bvsgt32(~len, 0bv32); {3850#true} is VALID [2018-11-23 11:18:36,375 INFO L256 TraceCheckUtils]: 18: Hoare triple {3850#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {3850#true} is VALID [2018-11-23 11:18:36,376 INFO L273 TraceCheckUtils]: 19: Hoare triple {3850#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {3913#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:18:36,376 INFO L273 TraceCheckUtils]: 20: Hoare triple {3913#(= node_create_~temp~0.offset (_ bv0 32))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {3913#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:18:36,377 INFO L273 TraceCheckUtils]: 21: Hoare triple {3913#(= node_create_~temp~0.offset (_ bv0 32))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {3920#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:36,377 INFO L273 TraceCheckUtils]: 22: Hoare triple {3920#(= |node_create_#res.offset| (_ bv0 32))} assume true; {3920#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:36,378 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3920#(= |node_create_#res.offset| (_ bv0 32))} {3850#true} #91#return; {3927#(= (_ bv0 32) |sll_create_#t~ret4.offset|)} is VALID [2018-11-23 11:18:36,378 INFO L273 TraceCheckUtils]: 24: Hoare triple {3927#(= (_ bv0 32) |sll_create_#t~ret4.offset|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3931#(= (_ bv0 32) sll_create_~head~0.offset)} is VALID [2018-11-23 11:18:36,379 INFO L273 TraceCheckUtils]: 25: Hoare triple {3931#(= (_ bv0 32) sll_create_~head~0.offset)} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3931#(= (_ bv0 32) sll_create_~head~0.offset)} is VALID [2018-11-23 11:18:36,379 INFO L273 TraceCheckUtils]: 26: Hoare triple {3931#(= (_ bv0 32) sll_create_~head~0.offset)} assume !~bvsgt32(~len, 0bv32); {3931#(= (_ bv0 32) sll_create_~head~0.offset)} is VALID [2018-11-23 11:18:36,380 INFO L273 TraceCheckUtils]: 27: Hoare triple {3931#(= (_ bv0 32) sll_create_~head~0.offset)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3941#(= |sll_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:36,381 INFO L273 TraceCheckUtils]: 28: Hoare triple {3941#(= |sll_create_#res.offset| (_ bv0 32))} assume true; {3941#(= |sll_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:18:36,382 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3941#(= |sll_create_#res.offset| (_ bv0 32))} {3870#(= |main_~#s~0.offset| (_ bv0 32))} #87#return; {3948#(and (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:36,384 INFO L273 TraceCheckUtils]: 30: Hoare triple {3948#(and (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {3952#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:36,385 INFO L273 TraceCheckUtils]: 31: Hoare triple {3952#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {3952#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} is VALID [2018-11-23 11:18:36,386 INFO L256 TraceCheckUtils]: 32: Hoare triple {3952#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {3959#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,387 INFO L273 TraceCheckUtils]: 33: Hoare triple {3959#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {3963#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} is VALID [2018-11-23 11:18:36,388 INFO L273 TraceCheckUtils]: 34: Hoare triple {3963#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {3967#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} is VALID [2018-11-23 11:18:36,389 INFO L273 TraceCheckUtils]: 35: Hoare triple {3967#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {3967#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} is VALID [2018-11-23 11:18:36,390 INFO L273 TraceCheckUtils]: 36: Hoare triple {3967#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3974#(and (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~snd_to_last~0.offset) (= sll_remove_last_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,391 INFO L273 TraceCheckUtils]: 37: Hoare triple {3974#(and (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~snd_to_last~0.offset) (= sll_remove_last_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {3974#(and (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~snd_to_last~0.offset) (= sll_remove_last_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,392 INFO L273 TraceCheckUtils]: 38: Hoare triple {3974#(and (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~snd_to_last~0.offset) (= sll_remove_last_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {3974#(and (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~snd_to_last~0.offset) (= sll_remove_last_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,812 INFO L273 TraceCheckUtils]: 39: Hoare triple {3974#(and (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~snd_to_last~0.offset) (= sll_remove_last_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {3984#(and (= (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.offset|) (= (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,813 INFO L273 TraceCheckUtils]: 40: Hoare triple {3984#(and (= (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.offset|) (= (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.base|))} assume true; {3984#(and (= (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.offset|) (= (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,822 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {3984#(and (= (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.offset|) (= (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |#memory_$Pointer$.base|))} {3952#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)))} #89#return; {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:36,823 INFO L273 TraceCheckUtils]: 42: Hoare triple {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:36,824 INFO L273 TraceCheckUtils]: 43: Hoare triple {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} assume !!~bvsge32(~i~0, 0bv32); {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:18:36,825 INFO L256 TraceCheckUtils]: 44: Hoare triple {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {3959#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:36,974 INFO L273 TraceCheckUtils]: 45: Hoare triple {3959#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {4004#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |sll_remove_last_#t~mem6.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|) (= |sll_remove_last_#t~mem6.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))))} is VALID [2018-11-23 11:18:37,202 INFO L273 TraceCheckUtils]: 46: Hoare triple {4004#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |sll_remove_last_#t~mem6.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|) (= |sll_remove_last_#t~mem6.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)))))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {4008#(and (or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)))) (= (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:37,203 INFO L273 TraceCheckUtils]: 47: Hoare triple {4008#(and (or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)))) (= (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4008#(and (or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)))) (= (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:18:37,205 INFO L273 TraceCheckUtils]: 48: Hoare triple {4008#(and (or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)))) (= (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:18:37,205 INFO L273 TraceCheckUtils]: 49: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:18:37,205 INFO L273 TraceCheckUtils]: 50: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:18:37,206 INFO L273 TraceCheckUtils]: 51: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:18:37,207 INFO L273 TraceCheckUtils]: 52: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume true; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:18:37,210 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} {3991#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} #89#return; {3851#false} is VALID [2018-11-23 11:18:37,210 INFO L273 TraceCheckUtils]: 54: Hoare triple {3851#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3851#false} is VALID [2018-11-23 11:18:37,211 INFO L273 TraceCheckUtils]: 55: Hoare triple {3851#false} assume !~bvsge32(~i~0, 0bv32); {3851#false} is VALID [2018-11-23 11:18:37,211 INFO L273 TraceCheckUtils]: 56: Hoare triple {3851#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {3851#false} is VALID [2018-11-23 11:18:37,211 INFO L273 TraceCheckUtils]: 57: Hoare triple {3851#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {3851#false} is VALID [2018-11-23 11:18:37,211 INFO L273 TraceCheckUtils]: 58: Hoare triple {3851#false} assume !false; {3851#false} is VALID [2018-11-23 11:18:37,219 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 14 proven. 15 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:18:37,219 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:18:37,383 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:18:37,544 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:18:40,603 WARN L180 SmtUtils]: Spent 300.00 ms on a formula simplification that was a NOOP. DAG size: 36 [2018-11-23 11:18:40,850 WARN L180 SmtUtils]: Spent 138.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-23 11:18:40,962 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 38 [2018-11-23 11:18:46,639 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 54 [2018-11-23 11:18:47,565 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 54 [2018-11-23 11:18:48,421 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 58 [2018-11-23 11:18:54,101 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:18:54,798 WARN L180 SmtUtils]: Spent 157.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:19:01,352 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 195 DAG size of output: 69 [2018-11-23 11:19:01,375 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 106 treesize of output 83 [2018-11-23 11:19:01,659 WARN L180 SmtUtils]: Spent 271.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 40 [2018-11-23 11:19:01,673 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 9 treesize of output 8 [2018-11-23 11:19:01,681 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:01,766 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:01,776 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:01,787 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:01,789 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 3 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 93 [2018-11-23 11:19:01,875 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:01,877 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 39 treesize of output 31 [2018-11-23 11:19:01,892 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:01,941 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:01,942 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:01,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 0 case distinctions, treesize of input 54 treesize of output 64 [2018-11-23 11:19:01,988 INFO L478 Elim1Store]: Elim1 applied some 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 41 treesize of output 49 [2018-11-23 11:19:02,022 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,038 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:02,039 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 14 treesize of output 10 [2018-11-23 11:19:02,041 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,046 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,054 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:19:02,070 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:19:02,213 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 106 treesize of output 99 [2018-11-23 11:19:02,484 WARN L180 SmtUtils]: Spent 251.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 38 [2018-11-23 11:19:02,489 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 9 treesize of output 8 [2018-11-23 11:19:02,491 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,564 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 8 treesize of output 6 [2018-11-23 11:19:02,572 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 6 treesize of output 1 [2018-11-23 11:19:02,572 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,576 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,619 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:19:02,794 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 86 treesize of output 63 [2018-11-23 11:19:02,911 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 34 [2018-11-23 11:19:02,916 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 9 treesize of output 8 [2018-11-23 11:19:02,921 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:02,962 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:02,963 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:02,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:02,966 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 51 [2018-11-23 11:19:02,980 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:03,018 INFO L478 Elim1Store]: Elim1 applied some 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 2 new quantified variables, introduced 4 case distinctions, treesize of input 31 treesize of output 36 [2018-11-23 11:19:03,023 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:19:03,056 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:03,056 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:03,057 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 35 [2018-11-23 11:19:03,169 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 28 treesize of output 46 [2018-11-23 11:19:03,193 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:19:03,232 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 5 treesize of output 3 [2018-11-23 11:19:03,233 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:03,237 INFO L267 ElimStorePlain]: Start of recursive call 17: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:03,240 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:03,259 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:03,312 INFO L267 ElimStorePlain]: Start of recursive call 1: 8 dim-0 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:03,313 INFO L202 ElimStorePlain]: Needed 19 recursive calls to eliminate 12 variables, input treesize:473, output treesize:6 [2018-11-23 11:19:05,445 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:19:05,445 WARN L384 uantifierElimination]: Input elimination task: ∀ [|v_#memory_$Pointer$.base_174|, v_sll_create_~head~0.base_39, v_sll_create_~head~0.base_38, |main_~#s~0.base|, |v_#memory_$Pointer$.offset_168|, v_sll_create_~head~0.offset_37, v_prenex_16, v_prenex_17, v_prenex_19, v_prenex_14, v_prenex_18, v_prenex_15]. (and (let ((.cse5 (store |v_#memory_$Pointer$.offset_168| v_sll_create_~head~0.base_39 (store (select |v_#memory_$Pointer$.offset_168| v_sll_create_~head~0.base_39) (_ bv4 32) v_sll_create_~head~0.offset_37))) (.cse3 (store |v_#memory_$Pointer$.base_174| v_sll_create_~head~0.base_39 (store (select |v_#memory_$Pointer$.base_174| v_sll_create_~head~0.base_39) (_ bv4 32) v_sll_create_~head~0.base_38)))) (let ((.cse0 (select (select .cse3 |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse1 (select (select .cse5 |main_~#s~0.base|) |main_~#s~0.offset|))) (or (not (= v_sll_create_~head~0.base_39 .cse0)) (not (= .cse1 (_ bv0 32))) (= (_ bv0 32) (let ((.cse4 (bvadd .cse1 (_ bv4 32)))) (let ((.cse2 (store .cse5 .cse0 (store (select .cse5 .cse0) .cse4 (_ bv0 32))))) (select (select .cse2 (select (select (store .cse3 .cse0 (store (select .cse3 .cse0) .cse4 (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select .cse2 |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))))))))) (let ((.cse11 (store v_prenex_18 v_prenex_17 (store (select v_prenex_18 v_prenex_17) (_ bv4 32) v_prenex_15))) (.cse9 (store v_prenex_16 v_prenex_17 (store (select v_prenex_16 v_prenex_17) (_ bv4 32) v_prenex_19)))) (let ((.cse7 (select (select .cse9 v_prenex_14) |main_~#s~0.offset|)) (.cse6 (select (select .cse11 v_prenex_14) |main_~#s~0.offset|))) (or (not (= (_ bv0 32) .cse6)) (not (= .cse7 v_prenex_17)) (= (let ((.cse10 (bvadd .cse6 (_ bv4 32)))) (select (let ((.cse8 (store .cse9 .cse7 (store (select .cse9 .cse7) .cse10 (_ bv0 32))))) (select .cse8 (select (select .cse8 v_prenex_14) |main_~#s~0.offset|))) (bvadd (select (select (store .cse11 .cse7 (store (select .cse11 .cse7) .cse10 (_ bv0 32))) v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)))) (_ bv0 32)))))) [2018-11-23 11:19:05,446 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (not (= (bvadd |main_~#s~0.offset| (_ bv4294967292 32)) (_ bv0 32))) [2018-11-23 11:19:07,130 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2018-11-23 11:19:08,389 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2018-11-23 11:19:23,507 WARN L180 SmtUtils]: Spent 10.53 s on a formula simplification. DAG size of input: 200 DAG size of output: 74 [2018-11-23 11:19:23,544 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 121 treesize of output 112 [2018-11-23 11:19:24,206 WARN L180 SmtUtils]: Spent 501.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 38 [2018-11-23 11:19:24,218 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 11 treesize of output 10 [2018-11-23 11:19:24,220 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:24,355 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 10 treesize of output 8 [2018-11-23 11:19:24,367 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 8 treesize of output 1 [2018-11-23 11:19:24,368 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:24,377 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:24,468 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:19:24,958 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 95 treesize of output 66 [2018-11-23 11:19:25,151 WARN L180 SmtUtils]: Spent 167.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 34 [2018-11-23 11:19:25,159 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 11 treesize of output 10 [2018-11-23 11:19:25,160 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:25,322 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 32 treesize of output 56 [2018-11-23 11:19:25,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:25,405 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:25,406 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 42 treesize of output 44 [2018-11-23 11:19:25,409 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:25,690 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:25,690 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:25,693 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:25,705 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:25,717 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:25,718 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 55 [2018-11-23 11:19:25,721 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:25,934 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 20 [2018-11-23 11:19:25,985 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:25,986 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 10 [2018-11-23 11:19:25,989 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:25,997 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 43 treesize of output 41 [2018-11-23 11:19:26,326 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:19:26,326 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,394 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:19:26,395 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,400 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:26,404 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 27 treesize of output 22 [2018-11-23 11:19:26,408 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,446 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 14 treesize of output 9 [2018-11-23 11:19:26,450 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,455 INFO L267 ElimStorePlain]: Start of recursive call 13: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,460 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-1 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,542 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:26,773 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 121 treesize of output 92 [2018-11-23 11:19:27,249 WARN L180 SmtUtils]: Spent 463.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 42 [2018-11-23 11:19:27,263 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 11 treesize of output 10 [2018-11-23 11:19:27,264 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:27,419 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:27,450 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:27,569 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 85 treesize of output 170 [2018-11-23 11:19:27,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:27,680 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 122 treesize of output 117 [2018-11-23 11:19:27,703 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:28,567 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:28,567 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:28,585 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:28,595 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:28,597 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 76 treesize of output 102 [2018-11-23 11:19:28,606 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:28,842 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 70 treesize of output 64 [2018-11-23 11:19:28,856 INFO L478 Elim1Store]: Elim1 did not use 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 19 [2018-11-23 11:19:28,857 INFO L267 ElimStorePlain]: Start of recursive call 24: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:28,906 INFO L267 ElimStorePlain]: Start of recursive call 23: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:29,110 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,143 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,144 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 143 treesize of output 71 [2018-11-23 11:19:29,426 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:19:29,456 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:19:29,457 INFO L267 ElimStorePlain]: Start of recursive call 26: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:29,489 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,490 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,491 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,509 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:29,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:29,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 3 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 31 [2018-11-23 11:19:29,543 INFO L267 ElimStorePlain]: Start of recursive call 27: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:29,573 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,574 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:19:29,598 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:19:29,605 INFO L478 Elim1Store]: Elim1 did not use 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 31 [2018-11-23 11:19:29,621 INFO L267 ElimStorePlain]: Start of recursive call 28: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:29,669 INFO L267 ElimStorePlain]: Start of recursive call 25: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:29,820 INFO L267 ElimStorePlain]: Start of recursive call 20: 2 dim-1 vars, 3 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:19:29,940 INFO L267 ElimStorePlain]: Start of recursive call 18: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:19:30,126 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 62 treesize of output 53 [2018-11-23 11:19:30,264 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 29 [2018-11-23 11:19:30,268 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 11 treesize of output 10 [2018-11-23 11:19:30,269 INFO L267 ElimStorePlain]: Start of recursive call 30: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,302 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 10 treesize of output 8 [2018-11-23 11:19:30,309 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 8 treesize of output 1 [2018-11-23 11:19:30,310 INFO L267 ElimStorePlain]: Start of recursive call 32: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,313 INFO L267 ElimStorePlain]: Start of recursive call 31: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,338 INFO L267 ElimStorePlain]: Start of recursive call 29: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,350 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 55 treesize of output 46 [2018-11-23 11:19:30,472 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 29 [2018-11-23 11:19:30,478 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 11 treesize of output 10 [2018-11-23 11:19:30,480 INFO L267 ElimStorePlain]: Start of recursive call 34: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,525 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 10 treesize of output 8 [2018-11-23 11:19:30,532 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 8 treesize of output 1 [2018-11-23 11:19:30,532 INFO L267 ElimStorePlain]: Start of recursive call 36: End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,541 INFO L267 ElimStorePlain]: Start of recursive call 35: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:30,576 INFO L267 ElimStorePlain]: Start of recursive call 33: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:31,156 INFO L267 ElimStorePlain]: Start of recursive call 1: 8 dim-0 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:19:31,157 INFO L202 ElimStorePlain]: Needed 36 recursive calls to eliminate 12 variables, input treesize:547, output treesize:3 [2018-11-23 11:19:31,206 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:19:31,206 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_$Pointer$.base|, sll_create_~head~0.base, |main_~#s~0.base|, |v_main_~#s~0.offset_BEFORE_CALL_21|, |#memory_$Pointer$.offset|, sll_create_~head~0.offset, v_prenex_26, v_prenex_27, v_prenex_14, v_prenex_24, v_prenex_25, v_prenex_28]. (let ((.cse6 (bvadd |sll_create_#t~ret4.offset| (_ bv4 32)))) (and (let ((.cse5 (store |#memory_$Pointer$.offset| |sll_create_#t~ret4.base| (store (select |#memory_$Pointer$.offset| |sll_create_#t~ret4.base|) .cse6 sll_create_~head~0.offset))) (.cse3 (store |#memory_$Pointer$.base| |sll_create_#t~ret4.base| (store (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) .cse6 sll_create_~head~0.base)))) (let ((.cse1 (select (select .cse3 |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (.cse0 (select (select .cse5 |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|))) (or (not (= .cse0 |sll_create_#t~ret4.offset|)) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= .cse1 |sll_create_#t~ret4.base|)) (= (let ((.cse4 (bvadd .cse0 (_ bv4 32)))) (let ((.cse2 (store .cse5 .cse1 (store (select .cse5 .cse1) .cse4 (_ bv0 32))))) (select (select .cse2 (select (select (store .cse3 .cse1 (store (select .cse3 .cse1) .cse4 (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select .cse2 |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32))))) (_ bv0 32))))) (let ((.cse12 (store v_prenex_25 |sll_create_#t~ret4.base| (store (select v_prenex_25 |sll_create_#t~ret4.base|) .cse6 v_prenex_28))) (.cse10 (store v_prenex_26 |sll_create_#t~ret4.base| (store (select v_prenex_26 |sll_create_#t~ret4.base|) .cse6 v_prenex_27)))) (let ((.cse7 (select (select .cse10 v_prenex_14) v_prenex_24)) (.cse8 (select (select .cse12 v_prenex_14) v_prenex_24))) (or (not (= .cse7 |sll_create_#t~ret4.base|)) (not (= .cse8 |sll_create_#t~ret4.offset|)) (= (_ bv4 32) v_prenex_24) (= (let ((.cse11 (bvadd .cse8 (_ bv4 32)))) (select (let ((.cse9 (store .cse10 .cse7 (store (select .cse10 .cse7) .cse11 (_ bv0 32))))) (select .cse9 (select (select .cse9 v_prenex_14) v_prenex_24))) (bvadd (select (select (store .cse12 .cse7 (store (select .cse12 .cse7) .cse11 (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (_ bv0 32))))))) [2018-11-23 11:19:31,207 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (= (_ bv0 32) |sll_create_#t~ret4.offset|) [2018-11-23 11:19:31,352 INFO L273 TraceCheckUtils]: 58: Hoare triple {3851#false} assume !false; {3851#false} is VALID [2018-11-23 11:19:31,353 INFO L273 TraceCheckUtils]: 57: Hoare triple {3851#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {3851#false} is VALID [2018-11-23 11:19:31,353 INFO L273 TraceCheckUtils]: 56: Hoare triple {3851#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {3851#false} is VALID [2018-11-23 11:19:31,353 INFO L273 TraceCheckUtils]: 55: Hoare triple {3851#false} assume !~bvsge32(~i~0, 0bv32); {3851#false} is VALID [2018-11-23 11:19:31,353 INFO L273 TraceCheckUtils]: 54: Hoare triple {3851#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {3851#false} is VALID [2018-11-23 11:19:31,355 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} #89#return; {3851#false} is VALID [2018-11-23 11:19:31,355 INFO L273 TraceCheckUtils]: 52: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume true; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,356 INFO L273 TraceCheckUtils]: 51: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,356 INFO L273 TraceCheckUtils]: 50: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,357 INFO L273 TraceCheckUtils]: 49: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,358 INFO L273 TraceCheckUtils]: 48: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,358 INFO L273 TraceCheckUtils]: 47: Hoare triple {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,361 INFO L273 TraceCheckUtils]: 46: Hoare triple {4086#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= |sll_remove_last_#t~mem6.base| (_ bv0 32)) (= |sll_remove_last_#t~mem6.offset| (_ bv0 32))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {4015#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,364 INFO L273 TraceCheckUtils]: 45: Hoare triple {4090#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {4086#(or (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= |sll_remove_last_#t~mem6.base| (_ bv0 32)) (= |sll_remove_last_#t~mem6.offset| (_ bv0 32))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,367 INFO L256 TraceCheckUtils]: 44: Hoare triple {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {4090#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,368 INFO L273 TraceCheckUtils]: 43: Hoare triple {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} assume !!~bvsge32(~i~0, 0bv32); {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:19:31,369 INFO L273 TraceCheckUtils]: 42: Hoare triple {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:19:31,374 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {4104#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} {4100#(and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} #89#return; {4061#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:19:31,375 INFO L273 TraceCheckUtils]: 40: Hoare triple {4104#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume true; {4104#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,445 INFO L273 TraceCheckUtils]: 39: Hoare triple {4111#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {4104#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,446 INFO L273 TraceCheckUtils]: 38: Hoare triple {4111#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {4111#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:31,449 INFO L273 TraceCheckUtils]: 37: Hoare triple {4111#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4111#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:33,467 INFO L273 TraceCheckUtils]: 36: Hoare triple {4121#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4111#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~snd_to_last~0.base) (bvadd sll_remove_last_~snd_to_last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is UNKNOWN [2018-11-23 11:19:33,468 INFO L273 TraceCheckUtils]: 35: Hoare triple {4121#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4121#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:33,470 INFO L273 TraceCheckUtils]: 34: Hoare triple {4128#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {4121#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.base| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| sll_remove_last_~last~0.base (store (select |#memory_$Pointer$.offset| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is VALID [2018-11-23 11:19:35,491 INFO L273 TraceCheckUtils]: 33: Hoare triple {4132#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {4128#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_remove_last_~head.base) sll_remove_last_~head.offset)) (bvadd (select (select |#memory_$Pointer$.offset| sll_remove_last_~head.base) sll_remove_last_~head.offset) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))))} is UNKNOWN [2018-11-23 11:19:35,505 INFO L256 TraceCheckUtils]: 32: Hoare triple {4100#(and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {4132#(or (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (not (= (_ bv0 32) (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))))) (and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)) (_ bv0 32))) |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:19:35,506 INFO L273 TraceCheckUtils]: 31: Hoare triple {4100#(and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} assume !!~bvsge32(~i~0, 0bv32); {4100#(and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:19:35,510 INFO L273 TraceCheckUtils]: 30: Hoare triple {4139#(and (forall ((|main_~#s~0.base| (_ BitVec 32))) (or (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.base|)) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.offset|)))) (forall ((v_prenex_14 (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) |main_#t~ret11.base|)) (not (= (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) |main_#t~ret11.offset|)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) v_prenex_14) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {4100#(and (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))} is VALID [2018-11-23 11:19:35,517 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {4147#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|))))))} {4143#(not (= (bvadd |main_~#s~0.offset| (_ bv4294967292 32)) (_ bv0 32)))} #87#return; {4139#(and (forall ((|main_~#s~0.base| (_ BitVec 32))) (or (= (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.base|)) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~ret11.offset|)))) (forall ((v_prenex_14 (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) |main_#t~ret11.base|)) (not (= (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) |main_#t~ret11.offset|)) (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) |main_~#s~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) |main_~#s~0.offset|) (_ bv4 32)) (_ bv0 32))) v_prenex_14) |main_~#s~0.offset|) (_ bv4 32))) (_ bv0 32)))))} is VALID [2018-11-23 11:19:35,518 INFO L273 TraceCheckUtils]: 28: Hoare triple {4147#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|))))))} assume true; {4147#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|))))))} is VALID [2018-11-23 11:19:35,523 INFO L273 TraceCheckUtils]: 27: Hoare triple {4154#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= sll_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) sll_create_~head~0.base)) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.base)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.offset)))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4147#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) |sll_create_#res.base|)) (not (= |sll_create_#res.offset| (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|))))))} is VALID [2018-11-23 11:19:35,525 INFO L273 TraceCheckUtils]: 26: Hoare triple {4154#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= sll_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) sll_create_~head~0.base)) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.base)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.offset)))))} assume !~bvsgt32(~len, 0bv32); {4154#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= sll_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) sll_create_~head~0.base)) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.base)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.offset)))))} is VALID [2018-11-23 11:19:35,526 INFO L273 TraceCheckUtils]: 25: Hoare triple {4154#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= sll_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) sll_create_~head~0.base)) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.base)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.offset)))))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4154#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= sll_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) sll_create_~head~0.base)) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.base)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.offset)))))} is VALID [2018-11-23 11:19:35,541 INFO L273 TraceCheckUtils]: 24: Hoare triple {3927#(= (_ bv0 32) |sll_create_#t~ret4.offset|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4154#(and (forall ((v_prenex_24 (_ BitVec 32)) (v_prenex_14 (_ BitVec 32))) (or (= (_ bv0 32) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24)) (bvadd (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24) (_ bv4 32)) (_ bv0 32))) v_prenex_14) v_prenex_24) (_ bv4 32)))) (not (= sll_create_~head~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_14) v_prenex_24))) (not (= (select (select |#memory_$Pointer$.base| v_prenex_14) v_prenex_24) sll_create_~head~0.base)) (= (_ bv4 32) v_prenex_24))) (forall ((|v_main_~#s~0.offset_BEFORE_CALL_21| (_ BitVec 32)) (|main_~#s~0.base| (_ BitVec 32))) (or (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.base)) (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (store (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|)) (bvadd (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)) (_ bv0 32))) |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) (_ bv4 32)))) (= (_ bv4 32) |v_main_~#s~0.offset_BEFORE_CALL_21|) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |v_main_~#s~0.offset_BEFORE_CALL_21|) sll_create_~head~0.offset)))))} is VALID [2018-11-23 11:19:35,542 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3920#(= |node_create_#res.offset| (_ bv0 32))} {3850#true} #91#return; {3927#(= (_ bv0 32) |sll_create_#t~ret4.offset|)} is VALID [2018-11-23 11:19:35,542 INFO L273 TraceCheckUtils]: 22: Hoare triple {3920#(= |node_create_#res.offset| (_ bv0 32))} assume true; {3920#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:19:35,544 INFO L273 TraceCheckUtils]: 21: Hoare triple {3913#(= node_create_~temp~0.offset (_ bv0 32))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {3920#(= |node_create_#res.offset| (_ bv0 32))} is VALID [2018-11-23 11:19:35,545 INFO L273 TraceCheckUtils]: 20: Hoare triple {3913#(= node_create_~temp~0.offset (_ bv0 32))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {3913#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:19:35,546 INFO L273 TraceCheckUtils]: 19: Hoare triple {3850#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {3913#(= node_create_~temp~0.offset (_ bv0 32))} is VALID [2018-11-23 11:19:35,546 INFO L256 TraceCheckUtils]: 18: Hoare triple {3850#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {3850#true} is VALID [2018-11-23 11:19:35,546 INFO L273 TraceCheckUtils]: 17: Hoare triple {3850#true} assume !!~bvsgt32(~len, 0bv32); {3850#true} is VALID [2018-11-23 11:19:35,546 INFO L273 TraceCheckUtils]: 16: Hoare triple {3850#true} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3850#true} is VALID [2018-11-23 11:19:35,547 INFO L273 TraceCheckUtils]: 15: Hoare triple {3850#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3850#true} is VALID [2018-11-23 11:19:35,547 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {3850#true} {3850#true} #91#return; {3850#true} is VALID [2018-11-23 11:19:35,547 INFO L273 TraceCheckUtils]: 13: Hoare triple {3850#true} assume true; {3850#true} is VALID [2018-11-23 11:19:35,547 INFO L273 TraceCheckUtils]: 12: Hoare triple {3850#true} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {3850#true} is VALID [2018-11-23 11:19:35,547 INFO L273 TraceCheckUtils]: 11: Hoare triple {3850#true} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {3850#true} is VALID [2018-11-23 11:19:35,547 INFO L273 TraceCheckUtils]: 10: Hoare triple {3850#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {3850#true} is VALID [2018-11-23 11:19:35,548 INFO L256 TraceCheckUtils]: 9: Hoare triple {3850#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {3850#true} is VALID [2018-11-23 11:19:35,548 INFO L273 TraceCheckUtils]: 8: Hoare triple {3850#true} assume !!~bvsgt32(~len, 0bv32); {3850#true} is VALID [2018-11-23 11:19:35,548 INFO L273 TraceCheckUtils]: 7: Hoare triple {3850#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3850#true} is VALID [2018-11-23 11:19:35,548 INFO L256 TraceCheckUtils]: 6: Hoare triple {4143#(not (= (bvadd |main_~#s~0.offset| (_ bv4294967292 32)) (_ bv0 32)))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {3850#true} is VALID [2018-11-23 11:19:35,549 INFO L273 TraceCheckUtils]: 5: Hoare triple {3850#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {4143#(not (= (bvadd |main_~#s~0.offset| (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2018-11-23 11:19:35,549 INFO L256 TraceCheckUtils]: 4: Hoare triple {3850#true} call #t~ret14 := main(); {3850#true} is VALID [2018-11-23 11:19:35,549 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3850#true} {3850#true} #93#return; {3850#true} is VALID [2018-11-23 11:19:35,549 INFO L273 TraceCheckUtils]: 2: Hoare triple {3850#true} assume true; {3850#true} is VALID [2018-11-23 11:19:35,549 INFO L273 TraceCheckUtils]: 1: Hoare triple {3850#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3850#true} is VALID [2018-11-23 11:19:35,550 INFO L256 TraceCheckUtils]: 0: Hoare triple {3850#true} call ULTIMATE.init(); {3850#true} is VALID [2018-11-23 11:19:35,578 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 13 proven. 15 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (11)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 11:19:35,583 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:19:35,584 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 32 [2018-11-23 11:19:35,584 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 59 [2018-11-23 11:19:35,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:19:35,587 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states. [2018-11-23 11:19:38,055 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 83 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 11:19:38,055 INFO L459 AbstractCegarLoop]: Interpolant automaton has 32 states [2018-11-23 11:19:38,056 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2018-11-23 11:19:38,056 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=108, Invalid=883, Unknown=1, NotChecked=0, Total=992 [2018-11-23 11:19:38,056 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand 32 states. [2018-11-23 11:19:54,841 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 36 DAG size of output: 35 [2018-11-23 11:19:58,327 WARN L180 SmtUtils]: Spent 2.18 s on a formula simplification. DAG size of input: 74 DAG size of output: 37 [2018-11-23 11:20:05,680 WARN L180 SmtUtils]: Spent 351.00 ms on a formula simplification that was a NOOP. DAG size: 64 [2018-11-23 11:20:09,255 WARN L180 SmtUtils]: Spent 430.00 ms on a formula simplification that was a NOOP. DAG size: 66 [2018-11-23 11:20:15,967 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:20:26,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:26,085 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2018-11-23 11:20:26,085 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 11:20:26,085 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 59 [2018-11-23 11:20:26,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:20:26,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 11:20:26,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 81 transitions. [2018-11-23 11:20:26,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 11:20:26,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 81 transitions. [2018-11-23 11:20:26,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 81 transitions. [2018-11-23 11:20:31,832 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 80 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 11:20:31,834 INFO L225 Difference]: With dead ends: 79 [2018-11-23 11:20:31,834 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 11:20:31,835 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 400 ImplicationChecksByTransitivity, 19.7s TimeCoverageRelationStatistics Valid=230, Invalid=1931, Unknown=1, NotChecked=0, Total=2162 [2018-11-23 11:20:31,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 11:20:31,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 53. [2018-11-23 11:20:31,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:20:31,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 53 states. [2018-11-23 11:20:31,935 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 53 states. [2018-11-23 11:20:31,936 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 53 states. [2018-11-23 11:20:31,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:31,938 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2018-11-23 11:20:31,938 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2018-11-23 11:20:31,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:31,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:31,938 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 57 states. [2018-11-23 11:20:31,938 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 57 states. [2018-11-23 11:20:31,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:31,940 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2018-11-23 11:20:31,941 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2018-11-23 11:20:31,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:31,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:31,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:20:31,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:20:31,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 11:20:31,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 58 transitions. [2018-11-23 11:20:31,943 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 58 transitions. Word has length 59 [2018-11-23 11:20:31,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:20:31,943 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 58 transitions. [2018-11-23 11:20:31,943 INFO L481 AbstractCegarLoop]: Interpolant automaton has 32 states. [2018-11-23 11:20:31,943 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2018-11-23 11:20:31,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2018-11-23 11:20:31,944 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:20:31,944 INFO L402 BasicCegarLoop]: trace histogram [5, 3, 2, 2, 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] [2018-11-23 11:20:31,944 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:20:31,945 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:20:31,945 INFO L82 PathProgramCache]: Analyzing trace with hash -766360680, now seen corresponding path program 3 times [2018-11-23 11:20:31,945 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:20:31,945 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 12 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 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:20:31,974 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 11:20:33,029 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 11:20:33,030 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:20:33,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:33,124 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:20:33,184 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:20:33,186 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,196 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,196 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:20:33,199 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:33,200 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_162|]. (and (= node_create_~temp~0.offset (_ bv0 32)) (= (store |v_#valid_162| node_create_~temp~0.base (_ bv1 1)) |#valid|)) [2018-11-23 11:20:33,200 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#valid| node_create_~temp~0.base) (_ bv1 1)) (= node_create_~temp~0.offset (_ bv0 32))) [2018-11-23 11:20:33,291 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:20:33,294 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:20:33,295 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,299 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,319 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:20:33,324 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:20:33,325 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,329 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,341 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:33,341 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:31, output treesize:23 [2018-11-23 11:20:33,779 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 11:20:34,261 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:34,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:34,267 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 11 treesize of output 4 [2018-11-23 11:20:34,268 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,387 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2018-11-23 11:20:34,396 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 15 treesize of output 18 [2018-11-23 11:20:34,422 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 18 treesize of output 7 [2018-11-23 11:20:34,423 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,429 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,448 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,514 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 27 [2018-11-23 11:20:34,522 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 15 treesize of output 18 [2018-11-23 11:20:34,529 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 18 treesize of output 7 [2018-11-23 11:20:34,533 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,536 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,547 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,570 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,571 INFO L202 ElimStorePlain]: Needed 8 recursive calls to eliminate 3 variables, input treesize:67, output treesize:39 [2018-11-23 11:20:34,598 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:34,598 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_old(#memory_$Pointer$.base)_AFTER_CALL_73|, |v_#valid_BEFORE_CALL_2|, |v_#memory_$Pointer$.offset_BEFORE_CALL_22|]. (and (= (select |v_#valid_BEFORE_CALL_2| |sll_create_#t~ret4.base|) (_ bv0 1)) (= (store |v_old(#memory_$Pointer$.base)_AFTER_CALL_73| |sll_create_#t~ret4.base| (store (store (select |v_old(#memory_$Pointer$.base)_AFTER_CALL_73| |sll_create_#t~ret4.base|) (_ bv4 32) (_ bv0 32)) (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) (_ bv0 32)))) |#memory_$Pointer$.base|) (= (select |v_#valid_BEFORE_CALL_2| sll_create_~head~0.base) (_ bv1 1)) (= (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_22| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (store |v_#memory_$Pointer$.offset_BEFORE_CALL_22| |sll_create_#t~ret4.base| (store (store (select |v_#memory_$Pointer$.offset_BEFORE_CALL_22| |sll_create_#t~ret4.base|) (_ bv4 32) (_ bv0 32)) (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_create_#t~ret4.base|) (_ bv0 32)))) |#memory_$Pointer$.offset|) (= (select (select |v_old(#memory_$Pointer$.base)_AFTER_CALL_73| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) |sll_create_#t~ret4.offset|)) [2018-11-23 11:20:34,598 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_create_#t~ret4.base|) (_ bv4 32))) (= (_ bv0 32) sll_create_~head~0.offset) (not (= sll_create_~head~0.base |sll_create_#t~ret4.base|)) (= (_ bv0 32) |sll_create_#t~ret4.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32)))) [2018-11-23 11:20:34,760 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:20:34,761 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 11:20:34,769 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 7 [2018-11-23 11:20:34,770 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,785 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,837 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 11:20:34,864 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 14 treesize of output 7 [2018-11-23 11:20:34,865 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,875 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,896 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:34,897 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:58, output treesize:41 [2018-11-23 11:20:36,394 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:36,394 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_187|, v_sll_create_~head~0.base_42, |v_#memory_$Pointer$.offset_181|]. (let ((.cse0 (select |v_#memory_$Pointer$.base_187| sll_create_~head~0.base)) (.cse1 (select |v_#memory_$Pointer$.offset_181| sll_create_~head~0.base))) (and (= (_ bv0 32) (select .cse0 (_ bv4 32))) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_187| sll_create_~head~0.base (store .cse0 (_ bv4 32) v_sll_create_~head~0.base_42))) (= (store |v_#memory_$Pointer$.offset_181| sll_create_~head~0.base (store .cse1 (_ bv4 32) (_ bv0 32))) |#memory_$Pointer$.offset|) (= (_ bv0 32) (select (select |v_#memory_$Pointer$.offset_181| v_sll_create_~head~0.base_42) (_ bv4 32))) (= (_ bv0 32) (select (select |v_#memory_$Pointer$.base_187| v_sll_create_~head~0.base_42) (_ bv4 32))) (= (_ bv0 32) sll_create_~head~0.offset) (not (= sll_create_~head~0.base v_sll_create_~head~0.base_42)) (= (_ bv0 32) (select .cse1 (_ bv4 32))))) [2018-11-23 11:20:36,395 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)))) (and (not (= .cse0 sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| .cse0) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| .cse0) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))) [2018-11-23 11:20:37,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {4569#true} call ULTIMATE.init(); {4569#true} is VALID [2018-11-23 11:20:37,509 INFO L273 TraceCheckUtils]: 1: Hoare triple {4569#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4569#true} is VALID [2018-11-23 11:20:37,509 INFO L273 TraceCheckUtils]: 2: Hoare triple {4569#true} assume true; {4569#true} is VALID [2018-11-23 11:20:37,509 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4569#true} {4569#true} #93#return; {4569#true} is VALID [2018-11-23 11:20:37,509 INFO L256 TraceCheckUtils]: 4: Hoare triple {4569#true} call #t~ret14 := main(); {4569#true} is VALID [2018-11-23 11:20:37,510 INFO L273 TraceCheckUtils]: 5: Hoare triple {4569#true} ~len~0 := 2bv32;~data~0 := 1bv32;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4bv32); {4589#(= |main_~#s~0.offset| (_ bv0 32))} is VALID [2018-11-23 11:20:37,510 INFO L256 TraceCheckUtils]: 6: Hoare triple {4589#(= |main_~#s~0.offset| (_ bv0 32))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {4569#true} is VALID [2018-11-23 11:20:37,511 INFO L273 TraceCheckUtils]: 7: Hoare triple {4569#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4596#(and (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:20:37,511 INFO L273 TraceCheckUtils]: 8: Hoare triple {4596#(and (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32); {4596#(and (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)))} is VALID [2018-11-23 11:20:37,511 INFO L256 TraceCheckUtils]: 9: Hoare triple {4596#(and (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {4569#true} is VALID [2018-11-23 11:20:37,513 INFO L273 TraceCheckUtils]: 10: Hoare triple {4569#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {4606#(and (= (bvadd (select |#valid| node_create_~temp~0.base) (_ bv1 1)) (_ bv0 1)) (= node_create_~temp~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:20:37,513 INFO L273 TraceCheckUtils]: 11: Hoare triple {4606#(and (= (bvadd (select |#valid| node_create_~temp~0.base) (_ bv1 1)) (_ bv0 1)) (= node_create_~temp~0.offset (_ bv0 32)))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {4606#(and (= (bvadd (select |#valid| node_create_~temp~0.base) (_ bv1 1)) (_ bv0 1)) (= node_create_~temp~0.offset (_ bv0 32)))} is VALID [2018-11-23 11:20:37,514 INFO L273 TraceCheckUtils]: 12: Hoare triple {4606#(and (= (bvadd (select |#valid| node_create_~temp~0.base) (_ bv1 1)) (_ bv0 1)) (= node_create_~temp~0.offset (_ bv0 32)))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {4613#(and (= (_ bv1 1) (select |#valid| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:20:37,515 INFO L273 TraceCheckUtils]: 13: Hoare triple {4613#(and (= (_ bv1 1) (select |#valid| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} assume true; {4613#(and (= (_ bv1 1) (select |#valid| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:20:37,517 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {4613#(and (= (_ bv1 1) (select |#valid| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} {4596#(and (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)))} #91#return; {4620#(and (= (bvadd (select |#valid| |sll_create_#t~ret4.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)) (= (_ bv0 32) |sll_create_#t~ret4.offset|))} is VALID [2018-11-23 11:20:37,537 INFO L273 TraceCheckUtils]: 15: Hoare triple {4620#(and (= (bvadd (select |#valid| |sll_create_#t~ret4.base|) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) sll_create_~head~0.offset) (= sll_create_~head~0.base (_ bv0 32)) (= (_ bv0 32) |sll_create_#t~ret4.offset|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,541 INFO L273 TraceCheckUtils]: 16: Hoare triple {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,542 INFO L273 TraceCheckUtils]: 17: Hoare triple {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} assume !!~bvsgt32(~len, 0bv32); {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,543 INFO L256 TraceCheckUtils]: 18: Hoare triple {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {4634#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:20:37,543 INFO L273 TraceCheckUtils]: 19: Hoare triple {4634#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {4638#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= node_create_~temp~0.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (_ bv0 1) (select |old(#valid)| node_create_~temp~0.base)))} is VALID [2018-11-23 11:20:37,544 INFO L273 TraceCheckUtils]: 20: Hoare triple {4638#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= node_create_~temp~0.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (_ bv0 1) (select |old(#valid)| node_create_~temp~0.base)))} assume !(0bv32 == ~temp~0.base && 0bv32 == ~temp~0.offset); {4638#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= node_create_~temp~0.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (_ bv0 1) (select |old(#valid)| node_create_~temp~0.base)))} is VALID [2018-11-23 11:20:37,547 INFO L273 TraceCheckUtils]: 21: Hoare triple {4638#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= node_create_~temp~0.offset (_ bv0 32)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (_ bv0 1) (select |old(#valid)| node_create_~temp~0.base)))} call write~$Pointer$(0bv32, 0bv32, ~temp~0.base, ~bvadd32(4bv32, ~temp~0.offset), 4bv32);call write~intINTTYPE4(~data, ~temp~0.base, ~temp~0.offset, 4bv32);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {4645#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)))) (= (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) |node_create_#res.offset|))) |#memory_$Pointer$.offset|) (= (_ bv0 1) (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:20:37,548 INFO L273 TraceCheckUtils]: 22: Hoare triple {4645#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)))) (= (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) |node_create_#res.offset|))) |#memory_$Pointer$.offset|) (= (_ bv0 1) (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} assume true; {4645#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)))) (= (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) |node_create_#res.offset|))) |#memory_$Pointer$.offset|) (= (_ bv0 1) (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:20:37,554 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {4645#(and (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.base| |node_create_#res.base|) |node_create_#res.offset|)))) (= (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) (bvadd |node_create_#res.offset| (_ bv4 32)) (_ bv0 32)) |node_create_#res.offset| (select (select |#memory_$Pointer$.offset| |node_create_#res.base|) |node_create_#res.offset|))) |#memory_$Pointer$.offset|) (= (_ bv0 1) (select |old(#valid)| |node_create_#res.base|)) (= |node_create_#res.offset| (_ bv0 32)))} {4624#(and (= (_ bv1 1) (select |#valid| sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} #91#return; {4652#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_create_#t~ret4.base|) (_ bv4 32))) (= (_ bv0 32) sll_create_~head~0.offset) (not (= sll_create_~head~0.base |sll_create_#t~ret4.base|)) (= (_ bv0 32) |sll_create_#t~ret4.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,557 INFO L273 TraceCheckUtils]: 24: Hoare triple {4652#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_create_#t~ret4.base|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_create_#t~ret4.base|) (_ bv4 32))) (= (_ bv0 32) sll_create_~head~0.offset) (not (= sll_create_~head~0.base |sll_create_#t~ret4.base|)) (= (_ bv0 32) |sll_create_#t~ret4.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~bvadd32(4bv32, ~new_head~0.offset), 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4656#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,557 INFO L273 TraceCheckUtils]: 25: Hoare triple {4656#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} #t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4656#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,558 INFO L273 TraceCheckUtils]: 26: Hoare triple {4656#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} assume !~bvsgt32(~len, 0bv32); {4656#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,560 INFO L273 TraceCheckUtils]: 27: Hoare triple {4656#(and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32)) sll_create_~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) sll_create_~head~0.offset) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) (_ bv4 32))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4666#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)) |sll_create_#res.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) (_ bv4 32)) (_ bv0 32)) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:20:37,561 INFO L273 TraceCheckUtils]: 28: Hoare triple {4666#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)) |sll_create_#res.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) (_ bv4 32)) (_ bv0 32)) (= |sll_create_#res.offset| (_ bv0 32)))} assume true; {4666#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)) |sll_create_#res.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) (_ bv4 32)) (_ bv0 32)) (= |sll_create_#res.offset| (_ bv0 32)))} is VALID [2018-11-23 11:20:37,563 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {4666#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32))) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) (_ bv4 32)) |sll_create_#res.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) (_ bv4 32)) (_ bv0 32)) (= |sll_create_#res.offset| (_ bv0 32)))} {4589#(= |main_~#s~0.offset| (_ bv0 32))} #87#return; {4673#(and (not (= |main_#t~ret11.base| (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_#t~ret11.base|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2018-11-23 11:20:37,566 INFO L273 TraceCheckUtils]: 30: Hoare triple {4673#(and (not (= |main_#t~ret11.base| (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_#t~ret11.base|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= |main_~#s~0.offset| (_ bv0 32)) (= |main_#t~ret11.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret11.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} call write~init~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4bv32);havoc #t~ret11.base, #t~ret11.offset;havoc ~i~0;~i~0 := ~bvsub32(~len~0, 1bv32); {4677#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (= |main_~#s~0.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,567 INFO L273 TraceCheckUtils]: 31: Hoare triple {4677#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (= |main_~#s~0.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32))))} assume !!~bvsge32(~i~0, 0bv32); {4677#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (= |main_~#s~0.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32))))} is VALID [2018-11-23 11:20:37,569 INFO L256 TraceCheckUtils]: 32: Hoare triple {4677#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (= |main_~#s~0.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32))))} call sll_remove_last(~#s~0.base, ~#s~0.offset); {4684#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:20:37,569 INFO L273 TraceCheckUtils]: 33: Hoare triple {4684#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {4688#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} is VALID [2018-11-23 11:20:37,570 INFO L273 TraceCheckUtils]: 34: Hoare triple {4688#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= sll_remove_last_~head.base |sll_remove_last_#in~head.base|) (= sll_remove_last_~head.offset |sll_remove_last_#in~head.offset|))} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {4692#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} is VALID [2018-11-23 11:20:37,571 INFO L273 TraceCheckUtils]: 35: Hoare triple {4692#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4692#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} is VALID [2018-11-23 11:20:37,574 INFO L273 TraceCheckUtils]: 36: Hoare triple {4692#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) sll_remove_last_~last~0.offset))} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4699#(and (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) sll_remove_last_~last~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:20:37,577 INFO L273 TraceCheckUtils]: 37: Hoare triple {4699#(and (= sll_remove_last_~last~0.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) sll_remove_last_~last~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4703#(and (= (select (select |old(#memory_$Pointer$.offset)| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32))) |sll_remove_last_#t~mem10.offset|) (= |sll_remove_last_#t~mem10.base| (select (select |old(#memory_$Pointer$.base)| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)))) (= sll_remove_last_~last~0.offset (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= sll_remove_last_~last~0.base (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} is VALID [2018-11-23 11:20:37,580 INFO L273 TraceCheckUtils]: 38: Hoare triple {4703#(and (= (select (select |old(#memory_$Pointer$.offset)| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32))) |sll_remove_last_#t~mem10.offset|) (= |sll_remove_last_#t~mem10.base| (select (select |old(#memory_$Pointer$.base)| sll_remove_last_~last~0.base) (bvadd sll_remove_last_~last~0.offset (_ bv4 32)))) (= sll_remove_last_~last~0.offset (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (= sll_remove_last_~last~0.base (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))))} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:20:37,581 INFO L273 TraceCheckUtils]: 39: Hoare triple {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:20:37,581 INFO L273 TraceCheckUtils]: 40: Hoare triple {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:20:37,582 INFO L273 TraceCheckUtils]: 41: Hoare triple {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:20:37,582 INFO L273 TraceCheckUtils]: 42: Hoare triple {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} assume true; {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} is VALID [2018-11-23 11:20:37,588 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4707#(or (not (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32)))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |sll_remove_last_#in~head.base|) |sll_remove_last_#in~head.offset|) (_ bv4 32))) (_ bv4 32))) (_ bv0 32))))} {4677#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (= |main_~#s~0.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (_ bv4 32))) (_ bv4 32))))} #89#return; {4570#false} is VALID [2018-11-23 11:20:37,589 INFO L273 TraceCheckUtils]: 44: Hoare triple {4570#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {4570#false} is VALID [2018-11-23 11:20:37,589 INFO L273 TraceCheckUtils]: 45: Hoare triple {4570#false} assume !!~bvsge32(~i~0, 0bv32); {4570#false} is VALID [2018-11-23 11:20:37,589 INFO L256 TraceCheckUtils]: 46: Hoare triple {4570#false} call sll_remove_last(~#s~0.base, ~#s~0.offset); {4570#false} is VALID [2018-11-23 11:20:37,589 INFO L273 TraceCheckUtils]: 47: Hoare triple {4570#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);call #t~mem6.base, #t~mem6.offset := read~$Pointer$(#t~mem5.base, ~bvadd32(4bv32, #t~mem5.offset), 4bv32); {4570#false} is VALID [2018-11-23 11:20:37,589 INFO L273 TraceCheckUtils]: 48: Hoare triple {4570#false} assume !(0bv32 == #t~mem6.base && 0bv32 == #t~mem6.offset);havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0bv32, 0bv32;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {4570#false} is VALID [2018-11-23 11:20:37,589 INFO L273 TraceCheckUtils]: 49: Hoare triple {4570#false} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L273 TraceCheckUtils]: 50: Hoare triple {4570#false} assume !!(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~0.base, ~last~0.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32);~last~0.base, ~last~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L273 TraceCheckUtils]: 51: Hoare triple {4570#false} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, ~bvadd32(4bv32, ~last~0.offset), 4bv32); {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L273 TraceCheckUtils]: 52: Hoare triple {4570#false} assume !(#t~mem10.base != 0bv32 || #t~mem10.offset != 0bv32);havoc #t~mem10.base, #t~mem10.offset; {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L273 TraceCheckUtils]: 53: Hoare triple {4570#false} call write~$Pointer$(0bv32, 0bv32, ~snd_to_last~0.base, ~bvadd32(4bv32, ~snd_to_last~0.offset), 4bv32);call ULTIMATE.dealloc(~last~0.base, ~last~0.offset); {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L273 TraceCheckUtils]: 54: Hoare triple {4570#false} assume true; {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {4570#false} {4570#false} #89#return; {4570#false} is VALID [2018-11-23 11:20:37,590 INFO L273 TraceCheckUtils]: 56: Hoare triple {4570#false} #t~post12 := ~i~0;~i~0 := ~bvsub32(#t~post12, 1bv32);havoc #t~post12; {4570#false} is VALID [2018-11-23 11:20:37,591 INFO L273 TraceCheckUtils]: 57: Hoare triple {4570#false} assume !~bvsge32(~i~0, 0bv32); {4570#false} is VALID [2018-11-23 11:20:37,591 INFO L273 TraceCheckUtils]: 58: Hoare triple {4570#false} call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4bv32); {4570#false} is VALID [2018-11-23 11:20:37,591 INFO L273 TraceCheckUtils]: 59: Hoare triple {4570#false} assume 0bv32 != #t~mem13.base || 0bv32 != #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset; {4570#false} is VALID [2018-11-23 11:20:37,591 INFO L273 TraceCheckUtils]: 60: Hoare triple {4570#false} assume !false; {4570#false} is VALID [2018-11-23 11:20:37,604 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 21 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:20:37,604 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:20:37,819 WARN L180 SmtUtils]: Spent 162.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 11:20:38,017 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:20:50,470 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-23 11:20:50,572 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-23 11:20:50,765 WARN L180 SmtUtils]: Spent 191.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2018-11-23 11:20:50,925 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:20:55,363 WARN L180 SmtUtils]: Spent 4.42 s on a formula simplification that was a NOOP. DAG size: 112 [2018-11-23 11:20:56,325 WARN L180 SmtUtils]: Spent 927.00 ms on a formula simplification that was a NOOP. DAG size: 54 [2018-11-23 11:20:57,606 WARN L180 SmtUtils]: Spent 1.28 s on a formula simplification that was a NOOP. DAG size: 58 [2018-11-23 11:20:58,853 WARN L180 SmtUtils]: Spent 1.25 s on a formula simplification that was a NOOP. DAG size: 58 [2018-11-23 11:21:00,505 WARN L180 SmtUtils]: Spent 1.20 s on a formula simplification. DAG size of input: 160 DAG size of output: 1 [2018-11-23 11:21:00,506 INFO L267 ElimStorePlain]: Start of recursive call 1: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:00,506 INFO L202 ElimStorePlain]: Needed 1 recursive calls to eliminate 16 variables, input treesize:411, output treesize:1 [2018-11-23 11:21:05,351 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-23 11:21:05,651 WARN L180 SmtUtils]: Spent 201.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2018-11-23 11:21:05,811 WARN L180 SmtUtils]: Spent 159.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:21:13,007 WARN L180 SmtUtils]: Spent 6.79 s on a formula simplification. DAG size of input: 145 DAG size of output: 133 [2018-11-23 11:21:13,230 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:13,231 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.NullPointerException at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSort.areDimensionsConsistent(MultiDimensionalSort.java:84) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelect.classInvariant(MultiDimensionalSelect.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelect.(MultiDimensionalSelect.java:90) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalStore.isCompatibleSelect(MultiDimensionalStore.java:105) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalStore.(MultiDimensionalStore.java:73) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelectOverStore.(MultiDimensionalSelectOverStore.java:48) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSelectOverStore.convert(MultiDimensionalSelectOverStore.java:75) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ArrayQuantifierEliminationUtils.elimAllSos(ArrayQuantifierEliminationUtils.java:57) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:232) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:383) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:290) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 11:21:13,235 INFO L168 Benchmark]: Toolchain (without parser) took 208077.05 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 961.0 MB). Free memory was 1.4 GB in the beginning and 2.1 GB in the end (delta: -654.9 MB). Peak memory consumption was 306.1 MB. Max. memory is 7.1 GB. [2018-11-23 11:21:13,236 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 11:21:13,236 INFO L168 Benchmark]: CACSL2BoogieTranslator took 792.82 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 736.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -785.3 MB). Peak memory consumption was 48.4 MB. Max. memory is 7.1 GB. [2018-11-23 11:21:13,237 INFO L168 Benchmark]: Boogie Procedure Inliner took 60.84 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 11:21:13,238 INFO L168 Benchmark]: Boogie Preprocessor took 82.91 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 7.1 GB. [2018-11-23 11:21:13,238 INFO L168 Benchmark]: RCFGBuilder took 1108.47 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 35.2 MB). Peak memory consumption was 35.2 MB. Max. memory is 7.1 GB. [2018-11-23 11:21:13,238 INFO L168 Benchmark]: TraceAbstraction took 206027.41 ms. Allocated memory was 2.3 GB in the beginning and 2.5 GB in the end (delta: 224.9 MB). Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 81.9 MB). Peak memory consumption was 306.8 MB. Max. memory is 7.1 GB. [2018-11-23 11:21:13,241 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 792.82 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 736.1 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -785.3 MB). Peak memory consumption was 48.4 MB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 60.84 ms. Allocated memory is still 2.3 GB. Free memory is still 2.2 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 82.91 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 13.2 MB). Peak memory consumption was 13.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1108.47 ms. Allocated memory is still 2.3 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 35.2 MB). Peak memory consumption was 35.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 206027.41 ms. Allocated memory was 2.3 GB in the beginning and 2.5 GB in the end (delta: 224.9 MB). Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 81.9 MB). Peak memory consumption was 306.8 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: NullPointerException: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: NullPointerException: null: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.MultiDimensionalSort.areDimensionsConsistent(MultiDimensionalSort.java:84) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...