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_Default.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 13:01:08,408 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:01:08,410 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:01:08,426 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:01:08,427 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:01:08,429 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:01:08,432 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:01:08,434 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:01:08,437 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:01:08,439 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:01:08,440 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:01:08,440 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:01:08,444 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:01:08,445 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:01:08,446 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:01:08,449 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:01:08,450 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:01:08,459 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:01:08,463 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:01:08,465 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:01:08,468 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:01:08,469 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:01:08,473 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:01:08,474 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:01:08,474 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:01:08,475 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:01:08,476 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:01:08,477 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:01:08,479 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:01:08,482 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:01:08,482 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:01:08,483 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:01:08,484 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:01:08,485 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:01:08,486 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:01:08,488 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:01:08,489 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 13:01:08,519 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:01:08,519 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:01:08,520 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:01:08,520 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 13:01:08,521 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:01:08,521 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:01:08,521 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 13:01:08,522 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:01:08,524 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:01:08,525 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:01:08,525 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:01:08,525 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:01:08,525 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:01:08,525 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:01:08,526 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:01:08,526 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:01:08,526 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:01:08,526 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:01:08,526 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:01:08,527 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:01:08,527 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 13:01:08,527 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:01:08,527 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 13:01:08,527 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:01:08,529 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:01:08,529 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:01:08,529 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:01:08,530 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 13:01:08,530 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:01:08,530 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:01:08,530 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 13:01:08,600 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:01:08,617 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:01:08,622 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:01:08,624 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:01:08,624 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:01:08,625 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_true-unreach-call_true-valid-memsafety.i [2018-11-23 13:01:08,708 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/014d1df85/5346e242be924dd580580f454db39232/FLAG68508ac53 [2018-11-23 13:01:09,224 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:01:09,225 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_true-unreach-call_true-valid-memsafety.i [2018-11-23 13:01:09,238 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/014d1df85/5346e242be924dd580580f454db39232/FLAG68508ac53 [2018-11-23 13:01:09,524 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/014d1df85/5346e242be924dd580580f454db39232 [2018-11-23 13:01:09,534 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:01:09,535 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:01:09,536 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:01:09,536 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:01:09,540 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:01:09,543 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:01:09" (1/1) ... [2018-11-23 13:01:09,546 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@621698b5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:09, skipping insertion in model container [2018-11-23 13:01:09,547 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:01:09" (1/1) ... [2018-11-23 13:01:09,558 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:01:09,615 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:01:10,053 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:01:10,071 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:01:10,152 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:01:10,230 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:01:10,231 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10 WrapperNode [2018-11-23 13:01:10,231 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:01:10,232 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:01:10,232 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:01:10,232 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:01:10,319 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,345 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,354 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:01:10,355 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:01:10,355 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:01:10,355 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:01:10,364 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,365 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,370 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,370 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,389 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,407 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,411 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (1/1) ... [2018-11-23 13:01:10,415 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:01:10,416 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:01:10,416 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:01:10,416 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:01:10,417 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (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 13:01:10,473 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:01:10,473 INFO L130 BoogieDeclarations]: Found specification of procedure sll_length [2018-11-23 13:01:10,473 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_length [2018-11-23 13:01:10,474 INFO L130 BoogieDeclarations]: Found specification of procedure sll_hierarchical_destroy [2018-11-23 13:01:10,474 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_hierarchical_destroy [2018-11-23 13:01:10,474 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-23 13:01:10,474 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-23 13:01:10,474 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2018-11-23 13:01:10,474 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2018-11-23 13:01:10,475 INFO L130 BoogieDeclarations]: Found specification of procedure node_create_with_sublist [2018-11-23 13:01:10,475 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create_with_sublist [2018-11-23 13:01:10,475 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 13:01:10,475 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 13:01:10,475 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 13:01:10,476 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 13:01:10,476 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 13:01:10,476 INFO L130 BoogieDeclarations]: Found specification of procedure sll_append [2018-11-23 13:01:10,476 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_append [2018-11-23 13:01:10,476 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 13:01:10,477 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:01:10,477 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2018-11-23 13:01:10,477 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:01:10,477 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:01:11,684 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:01:11,684 INFO L280 CfgBuilder]: Removed 9 assue(true) statements. [2018-11-23 13:01:11,684 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:01:11 BoogieIcfgContainer [2018-11-23 13:01:11,685 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:01:11,685 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 13:01:11,686 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 13:01:11,689 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 13:01:11,689 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:01:09" (1/3) ... [2018-11-23 13:01:11,690 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6993dda5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:01:11, skipping insertion in model container [2018-11-23 13:01:11,690 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:10" (2/3) ... [2018-11-23 13:01:11,691 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6993dda5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:01:11, skipping insertion in model container [2018-11-23 13:01:11,691 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:01:11" (3/3) ... [2018-11-23 13:01:11,693 INFO L112 eAbstractionObserver]: Analyzing ICFG sll_of_sll_nondet_append_true-unreach-call_true-valid-memsafety.i [2018-11-23 13:01:11,704 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 13:01:11,712 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 13:01:11,732 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 13:01:11,765 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 13:01:11,765 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 13:01:11,766 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 13:01:11,766 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 13:01:11,766 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 13:01:11,766 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 13:01:11,766 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 13:01:11,766 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 13:01:11,766 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 13:01:11,786 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states. [2018-11-23 13:01:11,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 13:01:11,793 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:11,794 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:11,797 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:11,803 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:11,803 INFO L82 PathProgramCache]: Analyzing trace with hash -836909151, now seen corresponding path program 1 times [2018-11-23 13:01:11,806 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:11,806 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:11,864 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:11,864 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:11,864 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:11,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:11,973 INFO L256 TraceCheckUtils]: 0: Hoare triple {72#true} call ULTIMATE.init(); {72#true} is VALID [2018-11-23 13:01:11,976 INFO L273 TraceCheckUtils]: 1: Hoare triple {72#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {72#true} is VALID [2018-11-23 13:01:11,977 INFO L273 TraceCheckUtils]: 2: Hoare triple {72#true} assume true; {72#true} is VALID [2018-11-23 13:01:11,977 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {72#true} {72#true} #209#return; {72#true} is VALID [2018-11-23 13:01:11,978 INFO L256 TraceCheckUtils]: 4: Hoare triple {72#true} call #t~ret26 := main(); {72#true} is VALID [2018-11-23 13:01:11,978 INFO L273 TraceCheckUtils]: 5: Hoare triple {72#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {72#true} is VALID [2018-11-23 13:01:11,979 INFO L273 TraceCheckUtils]: 6: Hoare triple {72#true} assume !true; {73#false} is VALID [2018-11-23 13:01:11,979 INFO L273 TraceCheckUtils]: 7: Hoare triple {73#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {73#false} is VALID [2018-11-23 13:01:11,980 INFO L273 TraceCheckUtils]: 8: Hoare triple {73#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {73#false} is VALID [2018-11-23 13:01:11,980 INFO L273 TraceCheckUtils]: 9: Hoare triple {73#false} assume ~i~0 > ~max~0; {73#false} is VALID [2018-11-23 13:01:11,980 INFO L273 TraceCheckUtils]: 10: Hoare triple {73#false} assume !false; {73#false} is VALID [2018-11-23 13:01:11,983 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 13:01:11,986 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:11,986 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 13:01:11,991 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 11 [2018-11-23 13:01:11,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:11,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 13:01:12,117 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:12,117 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 13:01:12,128 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 13:01:12,128 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:01:12,132 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 2 states. [2018-11-23 13:01:12,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:12,705 INFO L93 Difference]: Finished difference Result 132 states and 187 transitions. [2018-11-23 13:01:12,705 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 13:01:12,706 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 11 [2018-11-23 13:01:12,706 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:12,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:01:12,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 187 transitions. [2018-11-23 13:01:12,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:01:12,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 187 transitions. [2018-11-23 13:01:12,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 187 transitions. [2018-11-23 13:01:13,253 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:13,269 INFO L225 Difference]: With dead ends: 132 [2018-11-23 13:01:13,269 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 13:01:13,274 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:01:13,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 13:01:13,331 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2018-11-23 13:01:13,331 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:13,332 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 52 states. [2018-11-23 13:01:13,332 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2018-11-23 13:01:13,333 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2018-11-23 13:01:13,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:13,338 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2018-11-23 13:01:13,338 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-23 13:01:13,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:13,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:13,340 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2018-11-23 13:01:13,340 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2018-11-23 13:01:13,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:13,346 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2018-11-23 13:01:13,346 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-23 13:01:13,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:13,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:13,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:13,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:13,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 13:01:13,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2018-11-23 13:01:13,354 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 11 [2018-11-23 13:01:13,355 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:13,355 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2018-11-23 13:01:13,355 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 13:01:13,355 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-23 13:01:13,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 13:01:13,356 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:13,356 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:13,357 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:13,357 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:13,357 INFO L82 PathProgramCache]: Analyzing trace with hash -860920697, now seen corresponding path program 1 times [2018-11-23 13:01:13,357 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:13,357 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:13,359 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:13,360 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:13,360 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:13,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:13,496 INFO L256 TraceCheckUtils]: 0: Hoare triple {436#true} call ULTIMATE.init(); {436#true} is VALID [2018-11-23 13:01:13,497 INFO L273 TraceCheckUtils]: 1: Hoare triple {436#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {436#true} is VALID [2018-11-23 13:01:13,497 INFO L273 TraceCheckUtils]: 2: Hoare triple {436#true} assume true; {436#true} is VALID [2018-11-23 13:01:13,497 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {436#true} {436#true} #209#return; {436#true} is VALID [2018-11-23 13:01:13,498 INFO L256 TraceCheckUtils]: 4: Hoare triple {436#true} call #t~ret26 := main(); {436#true} is VALID [2018-11-23 13:01:13,502 INFO L273 TraceCheckUtils]: 5: Hoare triple {436#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {438#(and (= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:13,503 INFO L273 TraceCheckUtils]: 6: Hoare triple {438#(and (= main_~i~0 3) (<= 5 main_~max~0))} assume !(~i~0 <= ~max~0); {437#false} is VALID [2018-11-23 13:01:13,503 INFO L273 TraceCheckUtils]: 7: Hoare triple {437#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {437#false} is VALID [2018-11-23 13:01:13,504 INFO L273 TraceCheckUtils]: 8: Hoare triple {437#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {437#false} is VALID [2018-11-23 13:01:13,504 INFO L273 TraceCheckUtils]: 9: Hoare triple {437#false} assume ~i~0 > ~max~0; {437#false} is VALID [2018-11-23 13:01:13,504 INFO L273 TraceCheckUtils]: 10: Hoare triple {437#false} assume !false; {437#false} is VALID [2018-11-23 13:01:13,505 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 13:01:13,506 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:13,506 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 13:01:13,508 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2018-11-23 13:01:13,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:13,508 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 13:01:13,534 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:13,535 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 13:01:13,535 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 13:01:13,535 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:01:13,536 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand 3 states. [2018-11-23 13:01:13,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:13,868 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2018-11-23 13:01:13,868 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 13:01:13,868 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2018-11-23 13:01:13,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:13,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:01:13,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 96 transitions. [2018-11-23 13:01:13,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:01:13,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 96 transitions. [2018-11-23 13:01:13,877 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 96 transitions. [2018-11-23 13:01:14,097 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:14,101 INFO L225 Difference]: With dead ends: 76 [2018-11-23 13:01:14,101 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 13:01:14,102 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:01:14,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 13:01:14,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 53. [2018-11-23 13:01:14,130 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:14,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 53 states. [2018-11-23 13:01:14,131 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 53 states. [2018-11-23 13:01:14,131 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 53 states. [2018-11-23 13:01:14,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,137 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2018-11-23 13:01:14,137 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 13:01:14,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:14,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:14,138 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 59 states. [2018-11-23 13:01:14,138 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 59 states. [2018-11-23 13:01:14,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,143 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2018-11-23 13:01:14,143 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 13:01:14,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:14,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:14,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:14,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:14,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 13:01:14,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2018-11-23 13:01:14,148 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 11 [2018-11-23 13:01:14,149 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:14,149 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2018-11-23 13:01:14,149 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 13:01:14,149 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-23 13:01:14,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 13:01:14,150 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:14,150 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:14,151 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:14,151 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:14,151 INFO L82 PathProgramCache]: Analyzing trace with hash 106289935, now seen corresponding path program 1 times [2018-11-23 13:01:14,152 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:14,152 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:14,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:14,155 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:14,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:14,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:14,267 INFO L256 TraceCheckUtils]: 0: Hoare triple {738#true} call ULTIMATE.init(); {738#true} is VALID [2018-11-23 13:01:14,268 INFO L273 TraceCheckUtils]: 1: Hoare triple {738#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {738#true} is VALID [2018-11-23 13:01:14,268 INFO L273 TraceCheckUtils]: 2: Hoare triple {738#true} assume true; {738#true} is VALID [2018-11-23 13:01:14,268 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {738#true} {738#true} #209#return; {738#true} is VALID [2018-11-23 13:01:14,269 INFO L256 TraceCheckUtils]: 4: Hoare triple {738#true} call #t~ret26 := main(); {738#true} is VALID [2018-11-23 13:01:14,269 INFO L273 TraceCheckUtils]: 5: Hoare triple {738#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {738#true} is VALID [2018-11-23 13:01:14,278 INFO L273 TraceCheckUtils]: 6: Hoare triple {738#true} assume !!(~i~0 <= ~max~0);~j~0 := 0; {740#(= main_~j~0 0)} is VALID [2018-11-23 13:01:14,292 INFO L273 TraceCheckUtils]: 7: Hoare triple {740#(= main_~j~0 0)} #t~short18 := ~j~0 < 10; {741#|main_#t~short18|} is VALID [2018-11-23 13:01:14,301 INFO L273 TraceCheckUtils]: 8: Hoare triple {741#|main_#t~short18|} assume !#t~short18; {739#false} is VALID [2018-11-23 13:01:14,302 INFO L273 TraceCheckUtils]: 9: Hoare triple {739#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {739#false} is VALID [2018-11-23 13:01:14,302 INFO L273 TraceCheckUtils]: 10: Hoare triple {739#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {739#false} is VALID [2018-11-23 13:01:14,302 INFO L273 TraceCheckUtils]: 11: Hoare triple {739#false} assume !(~i~0 <= ~max~0); {739#false} is VALID [2018-11-23 13:01:14,303 INFO L273 TraceCheckUtils]: 12: Hoare triple {739#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {739#false} is VALID [2018-11-23 13:01:14,303 INFO L273 TraceCheckUtils]: 13: Hoare triple {739#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {739#false} is VALID [2018-11-23 13:01:14,303 INFO L273 TraceCheckUtils]: 14: Hoare triple {739#false} assume ~i~0 > ~max~0; {739#false} is VALID [2018-11-23 13:01:14,304 INFO L273 TraceCheckUtils]: 15: Hoare triple {739#false} assume !false; {739#false} is VALID [2018-11-23 13:01:14,305 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:14,305 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:14,305 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 13:01:14,306 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 13:01:14,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:14,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 13:01:14,345 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:14,346 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 13:01:14,346 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 13:01:14,346 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 13:01:14,347 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand 4 states. [2018-11-23 13:01:14,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,702 INFO L93 Difference]: Finished difference Result 118 states and 149 transitions. [2018-11-23 13:01:14,702 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 13:01:14,702 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 13:01:14,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:14,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:01:14,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 148 transitions. [2018-11-23 13:01:14,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:01:14,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 148 transitions. [2018-11-23 13:01:14,712 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 148 transitions. [2018-11-23 13:01:14,941 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:14,945 INFO L225 Difference]: With dead ends: 118 [2018-11-23 13:01:14,945 INFO L226 Difference]: Without dead ends: 72 [2018-11-23 13:01:14,946 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 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 13:01:14,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-23 13:01:14,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 55. [2018-11-23 13:01:14,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:14,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 55 states. [2018-11-23 13:01:14,992 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 55 states. [2018-11-23 13:01:14,993 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 55 states. [2018-11-23 13:01:14,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:14,997 INFO L93 Difference]: Finished difference Result 72 states and 91 transitions. [2018-11-23 13:01:14,997 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 91 transitions. [2018-11-23 13:01:14,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:14,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:14,999 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 72 states. [2018-11-23 13:01:14,999 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 72 states. [2018-11-23 13:01:15,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:15,004 INFO L93 Difference]: Finished difference Result 72 states and 91 transitions. [2018-11-23 13:01:15,004 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 91 transitions. [2018-11-23 13:01:15,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:15,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:15,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:15,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:15,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 13:01:15,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 66 transitions. [2018-11-23 13:01:15,009 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 66 transitions. Word has length 16 [2018-11-23 13:01:15,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:15,010 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 66 transitions. [2018-11-23 13:01:15,010 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 13:01:15,010 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2018-11-23 13:01:15,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 13:01:15,011 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:15,011 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:15,012 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:15,012 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:15,012 INFO L82 PathProgramCache]: Analyzing trace with hash 915636561, now seen corresponding path program 1 times [2018-11-23 13:01:15,012 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:15,012 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:15,014 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:15,014 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:15,014 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:15,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:15,124 INFO L256 TraceCheckUtils]: 0: Hoare triple {1129#true} call ULTIMATE.init(); {1129#true} is VALID [2018-11-23 13:01:15,124 INFO L273 TraceCheckUtils]: 1: Hoare triple {1129#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1129#true} is VALID [2018-11-23 13:01:15,125 INFO L273 TraceCheckUtils]: 2: Hoare triple {1129#true} assume true; {1129#true} is VALID [2018-11-23 13:01:15,125 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1129#true} {1129#true} #209#return; {1129#true} is VALID [2018-11-23 13:01:15,125 INFO L256 TraceCheckUtils]: 4: Hoare triple {1129#true} call #t~ret26 := main(); {1129#true} is VALID [2018-11-23 13:01:15,127 INFO L273 TraceCheckUtils]: 5: Hoare triple {1129#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,128 INFO L273 TraceCheckUtils]: 6: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,129 INFO L273 TraceCheckUtils]: 7: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~short18 := ~j~0 < 10; {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,130 INFO L273 TraceCheckUtils]: 8: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,132 INFO L273 TraceCheckUtils]: 9: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,133 INFO L273 TraceCheckUtils]: 10: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,134 INFO L273 TraceCheckUtils]: 11: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !(~i~0 <= ~max~0); {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:15,145 INFO L273 TraceCheckUtils]: 12: Hoare triple {1131#(and (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {1132#(and (= 0 main_~ptr~0.offset) (= main_~ptr~0.base 0))} is VALID [2018-11-23 13:01:15,149 INFO L273 TraceCheckUtils]: 13: Hoare triple {1132#(and (= 0 main_~ptr~0.offset) (= main_~ptr~0.base 0))} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {1130#false} is VALID [2018-11-23 13:01:15,149 INFO L273 TraceCheckUtils]: 14: Hoare triple {1130#false} assume ~i~0 > ~max~0; {1130#false} is VALID [2018-11-23 13:01:15,150 INFO L273 TraceCheckUtils]: 15: Hoare triple {1130#false} assume !false; {1130#false} is VALID [2018-11-23 13:01:15,151 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:15,152 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:15,152 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 13:01:15,153 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 13:01:15,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:15,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 13:01:15,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:15,193 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 13:01:15,193 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 13:01:15,193 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 13:01:15,194 INFO L87 Difference]: Start difference. First operand 55 states and 66 transitions. Second operand 4 states. [2018-11-23 13:01:15,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:15,638 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2018-11-23 13:01:15,638 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 13:01:15,638 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 16 [2018-11-23 13:01:15,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:15,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:01:15,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 97 transitions. [2018-11-23 13:01:15,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:01:15,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 97 transitions. [2018-11-23 13:01:15,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 97 transitions. [2018-11-23 13:01:15,811 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:15,814 INFO L225 Difference]: With dead ends: 81 [2018-11-23 13:01:15,814 INFO L226 Difference]: Without dead ends: 61 [2018-11-23 13:01:15,815 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 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 13:01:15,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-23 13:01:15,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 59. [2018-11-23 13:01:15,837 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:15,837 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 59 states. [2018-11-23 13:01:15,837 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 59 states. [2018-11-23 13:01:15,838 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 59 states. [2018-11-23 13:01:15,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:15,842 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2018-11-23 13:01:15,842 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2018-11-23 13:01:15,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:15,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:15,843 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 61 states. [2018-11-23 13:01:15,843 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 61 states. [2018-11-23 13:01:15,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:15,846 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2018-11-23 13:01:15,847 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2018-11-23 13:01:15,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:15,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:15,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:15,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:15,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 13:01:15,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 70 transitions. [2018-11-23 13:01:15,851 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 70 transitions. Word has length 16 [2018-11-23 13:01:15,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:15,852 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 70 transitions. [2018-11-23 13:01:15,852 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 13:01:15,852 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 70 transitions. [2018-11-23 13:01:15,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 13:01:15,853 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:15,853 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:15,854 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:15,854 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:15,854 INFO L82 PathProgramCache]: Analyzing trace with hash -1759189369, now seen corresponding path program 1 times [2018-11-23 13:01:15,854 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:15,854 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:15,856 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:15,856 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:15,856 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:15,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:16,041 INFO L256 TraceCheckUtils]: 0: Hoare triple {1455#true} call ULTIMATE.init(); {1455#true} is VALID [2018-11-23 13:01:16,042 INFO L273 TraceCheckUtils]: 1: Hoare triple {1455#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1455#true} is VALID [2018-11-23 13:01:16,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {1455#true} assume true; {1455#true} is VALID [2018-11-23 13:01:16,043 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1455#true} {1455#true} #209#return; {1455#true} is VALID [2018-11-23 13:01:16,044 INFO L256 TraceCheckUtils]: 4: Hoare triple {1455#true} call #t~ret26 := main(); {1455#true} is VALID [2018-11-23 13:01:16,051 INFO L273 TraceCheckUtils]: 5: Hoare triple {1455#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {1457#(= main_~i~0 3)} is VALID [2018-11-23 13:01:16,052 INFO L273 TraceCheckUtils]: 6: Hoare triple {1457#(= main_~i~0 3)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {1457#(= main_~i~0 3)} is VALID [2018-11-23 13:01:16,052 INFO L273 TraceCheckUtils]: 7: Hoare triple {1457#(= main_~i~0 3)} #t~short18 := ~j~0 < 10; {1457#(= main_~i~0 3)} is VALID [2018-11-23 13:01:16,054 INFO L273 TraceCheckUtils]: 8: Hoare triple {1457#(= main_~i~0 3)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1457#(= main_~i~0 3)} is VALID [2018-11-23 13:01:16,055 INFO L273 TraceCheckUtils]: 9: Hoare triple {1457#(= main_~i~0 3)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {1457#(= main_~i~0 3)} is VALID [2018-11-23 13:01:16,055 INFO L256 TraceCheckUtils]: 10: Hoare triple {1457#(= main_~i~0 3)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {1455#true} is VALID [2018-11-23 13:01:16,056 INFO L273 TraceCheckUtils]: 11: Hoare triple {1455#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {1458#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:16,057 INFO L256 TraceCheckUtils]: 12: Hoare triple {1458#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {1455#true} is VALID [2018-11-23 13:01:16,058 INFO L273 TraceCheckUtils]: 13: Hoare triple {1455#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {1459#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:16,059 INFO L273 TraceCheckUtils]: 14: Hoare triple {1459#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {1459#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:16,059 INFO L256 TraceCheckUtils]: 15: Hoare triple {1459#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {1455#true} is VALID [2018-11-23 13:01:16,060 INFO L273 TraceCheckUtils]: 16: Hoare triple {1455#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1460#(= sll_create_~len |sll_create_#in~len|)} is VALID [2018-11-23 13:01:16,061 INFO L273 TraceCheckUtils]: 17: Hoare triple {1460#(= sll_create_~len |sll_create_#in~len|)} assume !(~len > 0); {1461#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:16,062 INFO L273 TraceCheckUtils]: 18: Hoare triple {1461#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1461#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:16,062 INFO L273 TraceCheckUtils]: 19: Hoare triple {1461#(<= |sll_create_#in~len| 0)} assume true; {1461#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:16,064 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1461#(<= |sll_create_#in~len| 0)} {1459#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {1462#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,072 INFO L273 TraceCheckUtils]: 21: Hoare triple {1462#(<= |node_create_with_sublist_#in~sublist_length| 0)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {1462#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,074 INFO L273 TraceCheckUtils]: 22: Hoare triple {1462#(<= |node_create_with_sublist_#in~sublist_length| 0)} assume true; {1462#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,076 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1462#(<= |node_create_with_sublist_#in~sublist_length| 0)} {1458#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {1463#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,076 INFO L273 TraceCheckUtils]: 24: Hoare triple {1463#(<= |sll_append_#in~sublist_length| 0)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1463#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,078 INFO L273 TraceCheckUtils]: 25: Hoare triple {1463#(<= |sll_append_#in~sublist_length| 0)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1463#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,086 INFO L273 TraceCheckUtils]: 26: Hoare triple {1463#(<= |sll_append_#in~sublist_length| 0)} assume true; {1463#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:16,091 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1463#(<= |sll_append_#in~sublist_length| 0)} {1457#(= main_~i~0 3)} #199#return; {1456#false} is VALID [2018-11-23 13:01:16,091 INFO L273 TraceCheckUtils]: 28: Hoare triple {1456#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {1456#false} is VALID [2018-11-23 13:01:16,091 INFO L273 TraceCheckUtils]: 29: Hoare triple {1456#false} #t~short18 := ~j~0 < 10; {1456#false} is VALID [2018-11-23 13:01:16,092 INFO L273 TraceCheckUtils]: 30: Hoare triple {1456#false} assume !#t~short18; {1456#false} is VALID [2018-11-23 13:01:16,092 INFO L273 TraceCheckUtils]: 31: Hoare triple {1456#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1456#false} is VALID [2018-11-23 13:01:16,092 INFO L273 TraceCheckUtils]: 32: Hoare triple {1456#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {1456#false} is VALID [2018-11-23 13:01:16,093 INFO L273 TraceCheckUtils]: 33: Hoare triple {1456#false} assume !(~i~0 <= ~max~0); {1456#false} is VALID [2018-11-23 13:01:16,093 INFO L273 TraceCheckUtils]: 34: Hoare triple {1456#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {1456#false} is VALID [2018-11-23 13:01:16,093 INFO L273 TraceCheckUtils]: 35: Hoare triple {1456#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {1456#false} is VALID [2018-11-23 13:01:16,094 INFO L273 TraceCheckUtils]: 36: Hoare triple {1456#false} assume ~i~0 > ~max~0; {1456#false} is VALID [2018-11-23 13:01:16,094 INFO L273 TraceCheckUtils]: 37: Hoare triple {1456#false} assume !false; {1456#false} is VALID [2018-11-23 13:01:16,096 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:16,097 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:16,097 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 13:01:16,097 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2018-11-23 13:01:16,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:16,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 13:01:16,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:16,144 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 13:01:16,144 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 13:01:16,145 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 13:01:16,145 INFO L87 Difference]: Start difference. First operand 59 states and 70 transitions. Second operand 9 states. [2018-11-23 13:01:16,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:16,989 INFO L93 Difference]: Finished difference Result 134 states and 163 transitions. [2018-11-23 13:01:16,989 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:01:16,989 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2018-11-23 13:01:16,989 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:16,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:01:16,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 148 transitions. [2018-11-23 13:01:16,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:01:16,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 148 transitions. [2018-11-23 13:01:16,998 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 148 transitions. [2018-11-23 13:01:17,236 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:17,241 INFO L225 Difference]: With dead ends: 134 [2018-11-23 13:01:17,242 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 13:01:17,243 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:01:17,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 13:01:17,313 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2018-11-23 13:01:17,314 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:17,314 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 82 states. [2018-11-23 13:01:17,314 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 82 states. [2018-11-23 13:01:17,314 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 82 states. [2018-11-23 13:01:17,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:17,318 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2018-11-23 13:01:17,318 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2018-11-23 13:01:17,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:17,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:17,319 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 86 states. [2018-11-23 13:01:17,319 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 86 states. [2018-11-23 13:01:17,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:17,323 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2018-11-23 13:01:17,323 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2018-11-23 13:01:17,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:17,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:17,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:17,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:17,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 13:01:17,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 100 transitions. [2018-11-23 13:01:17,328 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 100 transitions. Word has length 38 [2018-11-23 13:01:17,328 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:17,328 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 100 transitions. [2018-11-23 13:01:17,329 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 13:01:17,329 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 100 transitions. [2018-11-23 13:01:17,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 13:01:17,330 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:17,330 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:17,330 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:17,331 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:17,331 INFO L82 PathProgramCache]: Analyzing trace with hash 8330109, now seen corresponding path program 2 times [2018-11-23 13:01:17,331 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:17,331 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:17,332 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:17,333 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:17,333 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:17,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:17,648 INFO L256 TraceCheckUtils]: 0: Hoare triple {1935#true} call ULTIMATE.init(); {1935#true} is VALID [2018-11-23 13:01:17,648 INFO L273 TraceCheckUtils]: 1: Hoare triple {1935#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1935#true} is VALID [2018-11-23 13:01:17,649 INFO L273 TraceCheckUtils]: 2: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:17,649 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1935#true} {1935#true} #209#return; {1935#true} is VALID [2018-11-23 13:01:17,649 INFO L256 TraceCheckUtils]: 4: Hoare triple {1935#true} call #t~ret26 := main(); {1935#true} is VALID [2018-11-23 13:01:17,652 INFO L273 TraceCheckUtils]: 5: Hoare triple {1935#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:17,654 INFO L273 TraceCheckUtils]: 6: Hoare triple {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:17,656 INFO L273 TraceCheckUtils]: 7: Hoare triple {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} #t~short18 := ~j~0 < 10; {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:17,659 INFO L273 TraceCheckUtils]: 8: Hoare triple {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:17,659 INFO L273 TraceCheckUtils]: 9: Hoare triple {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:17,660 INFO L273 TraceCheckUtils]: 10: Hoare triple {1937#(and (= main_~i~0 3) (<= 5 main_~max~0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,660 INFO L273 TraceCheckUtils]: 11: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,661 INFO L273 TraceCheckUtils]: 12: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} #t~short18 := ~j~0 < 10; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,667 INFO L273 TraceCheckUtils]: 13: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,668 INFO L273 TraceCheckUtils]: 14: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,668 INFO L256 TraceCheckUtils]: 15: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {1935#true} is VALID [2018-11-23 13:01:17,668 INFO L273 TraceCheckUtils]: 16: Hoare triple {1935#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {1935#true} is VALID [2018-11-23 13:01:17,668 INFO L256 TraceCheckUtils]: 17: Hoare triple {1935#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {1935#true} is VALID [2018-11-23 13:01:17,669 INFO L273 TraceCheckUtils]: 18: Hoare triple {1935#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {1935#true} is VALID [2018-11-23 13:01:17,669 INFO L273 TraceCheckUtils]: 19: Hoare triple {1935#true} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {1935#true} is VALID [2018-11-23 13:01:17,669 INFO L256 TraceCheckUtils]: 20: Hoare triple {1935#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {1935#true} is VALID [2018-11-23 13:01:17,670 INFO L273 TraceCheckUtils]: 21: Hoare triple {1935#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1935#true} is VALID [2018-11-23 13:01:17,670 INFO L273 TraceCheckUtils]: 22: Hoare triple {1935#true} assume !(~len > 0); {1935#true} is VALID [2018-11-23 13:01:17,670 INFO L273 TraceCheckUtils]: 23: Hoare triple {1935#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1935#true} is VALID [2018-11-23 13:01:17,670 INFO L273 TraceCheckUtils]: 24: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:17,671 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1935#true} {1935#true} #215#return; {1935#true} is VALID [2018-11-23 13:01:17,671 INFO L273 TraceCheckUtils]: 26: Hoare triple {1935#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {1935#true} is VALID [2018-11-23 13:01:17,671 INFO L273 TraceCheckUtils]: 27: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:17,671 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1935#true} {1935#true} #205#return; {1935#true} is VALID [2018-11-23 13:01:17,672 INFO L273 TraceCheckUtils]: 29: Hoare triple {1935#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1935#true} is VALID [2018-11-23 13:01:17,672 INFO L273 TraceCheckUtils]: 30: Hoare triple {1935#true} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1935#true} is VALID [2018-11-23 13:01:17,673 INFO L273 TraceCheckUtils]: 31: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:17,685 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1935#true} {1938#(<= (+ main_~i~0 1) main_~max~0)} #199#return; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,686 INFO L273 TraceCheckUtils]: 33: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,686 INFO L273 TraceCheckUtils]: 34: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} #t~short18 := ~j~0 < 10; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,688 INFO L273 TraceCheckUtils]: 35: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} assume !#t~short18; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,691 INFO L273 TraceCheckUtils]: 36: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1938#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:17,692 INFO L273 TraceCheckUtils]: 37: Hoare triple {1938#(<= (+ main_~i~0 1) main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {1939#(<= main_~i~0 main_~max~0)} is VALID [2018-11-23 13:01:17,696 INFO L273 TraceCheckUtils]: 38: Hoare triple {1939#(<= main_~i~0 main_~max~0)} assume !(~i~0 <= ~max~0); {1936#false} is VALID [2018-11-23 13:01:17,696 INFO L273 TraceCheckUtils]: 39: Hoare triple {1936#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {1936#false} is VALID [2018-11-23 13:01:17,696 INFO L273 TraceCheckUtils]: 40: Hoare triple {1936#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {1936#false} is VALID [2018-11-23 13:01:17,697 INFO L273 TraceCheckUtils]: 41: Hoare triple {1936#false} assume ~i~0 > ~max~0; {1936#false} is VALID [2018-11-23 13:01:17,697 INFO L273 TraceCheckUtils]: 42: Hoare triple {1936#false} assume !false; {1936#false} is VALID [2018-11-23 13:01:17,702 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 13:01:17,702 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:17,703 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:17,726 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:01:17,763 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 13:01:17,764 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:17,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:17,817 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:18,090 INFO L256 TraceCheckUtils]: 0: Hoare triple {1935#true} call ULTIMATE.init(); {1935#true} is VALID [2018-11-23 13:01:18,091 INFO L273 TraceCheckUtils]: 1: Hoare triple {1935#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1935#true} is VALID [2018-11-23 13:01:18,091 INFO L273 TraceCheckUtils]: 2: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:18,092 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1935#true} {1935#true} #209#return; {1935#true} is VALID [2018-11-23 13:01:18,092 INFO L256 TraceCheckUtils]: 4: Hoare triple {1935#true} call #t~ret26 := main(); {1935#true} is VALID [2018-11-23 13:01:18,094 INFO L273 TraceCheckUtils]: 5: Hoare triple {1935#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,095 INFO L273 TraceCheckUtils]: 6: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,096 INFO L273 TraceCheckUtils]: 7: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #t~short18 := ~j~0 < 10; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,096 INFO L273 TraceCheckUtils]: 8: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,098 INFO L273 TraceCheckUtils]: 9: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,099 INFO L273 TraceCheckUtils]: 10: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,100 INFO L273 TraceCheckUtils]: 11: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,101 INFO L273 TraceCheckUtils]: 12: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #t~short18 := ~j~0 < 10; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,102 INFO L273 TraceCheckUtils]: 13: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,107 INFO L273 TraceCheckUtils]: 14: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,108 INFO L256 TraceCheckUtils]: 15: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {1935#true} is VALID [2018-11-23 13:01:18,108 INFO L273 TraceCheckUtils]: 16: Hoare triple {1935#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {1935#true} is VALID [2018-11-23 13:01:18,108 INFO L256 TraceCheckUtils]: 17: Hoare triple {1935#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {1935#true} is VALID [2018-11-23 13:01:18,108 INFO L273 TraceCheckUtils]: 18: Hoare triple {1935#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {1935#true} is VALID [2018-11-23 13:01:18,109 INFO L273 TraceCheckUtils]: 19: Hoare triple {1935#true} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {1935#true} is VALID [2018-11-23 13:01:18,109 INFO L256 TraceCheckUtils]: 20: Hoare triple {1935#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {1935#true} is VALID [2018-11-23 13:01:18,109 INFO L273 TraceCheckUtils]: 21: Hoare triple {1935#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1935#true} is VALID [2018-11-23 13:01:18,109 INFO L273 TraceCheckUtils]: 22: Hoare triple {1935#true} assume !(~len > 0); {1935#true} is VALID [2018-11-23 13:01:18,109 INFO L273 TraceCheckUtils]: 23: Hoare triple {1935#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1935#true} is VALID [2018-11-23 13:01:18,110 INFO L273 TraceCheckUtils]: 24: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:18,110 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1935#true} {1935#true} #215#return; {1935#true} is VALID [2018-11-23 13:01:18,110 INFO L273 TraceCheckUtils]: 26: Hoare triple {1935#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {1935#true} is VALID [2018-11-23 13:01:18,110 INFO L273 TraceCheckUtils]: 27: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:18,110 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1935#true} {1935#true} #205#return; {1935#true} is VALID [2018-11-23 13:01:18,111 INFO L273 TraceCheckUtils]: 29: Hoare triple {1935#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1935#true} is VALID [2018-11-23 13:01:18,111 INFO L273 TraceCheckUtils]: 30: Hoare triple {1935#true} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1935#true} is VALID [2018-11-23 13:01:18,111 INFO L273 TraceCheckUtils]: 31: Hoare triple {1935#true} assume true; {1935#true} is VALID [2018-11-23 13:01:18,112 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1935#true} {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #199#return; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,113 INFO L273 TraceCheckUtils]: 33: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,113 INFO L273 TraceCheckUtils]: 34: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #t~short18 := ~j~0 < 10; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,115 INFO L273 TraceCheckUtils]: 35: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !#t~short18; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,115 INFO L273 TraceCheckUtils]: 36: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,135 INFO L273 TraceCheckUtils]: 37: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,151 INFO L273 TraceCheckUtils]: 38: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} assume !(~i~0 <= ~max~0); {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,154 INFO L273 TraceCheckUtils]: 39: Hoare triple {1958#(and (<= main_~min~0 3) (<= 5 main_~max~0))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {2061#(and (<= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,155 INFO L273 TraceCheckUtils]: 40: Hoare triple {2061#(and (<= main_~i~0 3) (<= 5 main_~max~0))} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {2061#(and (<= main_~i~0 3) (<= 5 main_~max~0))} is VALID [2018-11-23 13:01:18,160 INFO L273 TraceCheckUtils]: 41: Hoare triple {2061#(and (<= main_~i~0 3) (<= 5 main_~max~0))} assume ~i~0 > ~max~0; {1936#false} is VALID [2018-11-23 13:01:18,160 INFO L273 TraceCheckUtils]: 42: Hoare triple {1936#false} assume !false; {1936#false} is VALID [2018-11-23 13:01:18,165 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:01:18,194 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 13:01:18,194 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 7 [2018-11-23 13:01:18,195 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 43 [2018-11-23 13:01:18,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:18,195 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 13:01:18,412 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:18,412 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 13:01:18,413 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 13:01:18,413 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2018-11-23 13:01:18,413 INFO L87 Difference]: Start difference. First operand 82 states and 100 transitions. Second operand 7 states. [2018-11-23 13:01:19,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:19,624 INFO L93 Difference]: Finished difference Result 138 states and 175 transitions. [2018-11-23 13:01:19,624 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 13:01:19,625 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 43 [2018-11-23 13:01:19,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:19,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 13:01:19,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 135 transitions. [2018-11-23 13:01:19,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 13:01:19,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 135 transitions. [2018-11-23 13:01:19,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 135 transitions. [2018-11-23 13:01:19,838 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:19,843 INFO L225 Difference]: With dead ends: 138 [2018-11-23 13:01:19,844 INFO L226 Difference]: Without dead ends: 121 [2018-11-23 13:01:19,844 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 42 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-11-23 13:01:19,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-23 13:01:19,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 98. [2018-11-23 13:01:19,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:19,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 98 states. [2018-11-23 13:01:19,980 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 98 states. [2018-11-23 13:01:19,980 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 98 states. [2018-11-23 13:01:19,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:19,985 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2018-11-23 13:01:19,985 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2018-11-23 13:01:19,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:19,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:19,986 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 121 states. [2018-11-23 13:01:19,986 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 121 states. [2018-11-23 13:01:19,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:19,992 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2018-11-23 13:01:19,992 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2018-11-23 13:01:19,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:19,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:19,993 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:19,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:19,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 13:01:19,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 120 transitions. [2018-11-23 13:01:19,997 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 120 transitions. Word has length 43 [2018-11-23 13:01:19,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:19,998 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 120 transitions. [2018-11-23 13:01:19,998 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 13:01:19,998 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 120 transitions. [2018-11-23 13:01:19,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-23 13:01:20,000 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:20,000 INFO L402 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:20,000 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:20,000 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:20,001 INFO L82 PathProgramCache]: Analyzing trace with hash -1156399830, now seen corresponding path program 1 times [2018-11-23 13:01:20,001 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:20,001 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:20,002 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:20,002 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:01:20,003 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:20,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:20,246 INFO L256 TraceCheckUtils]: 0: Hoare triple {2643#true} call ULTIMATE.init(); {2643#true} is VALID [2018-11-23 13:01:20,246 INFO L273 TraceCheckUtils]: 1: Hoare triple {2643#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2643#true} is VALID [2018-11-23 13:01:20,247 INFO L273 TraceCheckUtils]: 2: Hoare triple {2643#true} assume true; {2643#true} is VALID [2018-11-23 13:01:20,247 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2643#true} {2643#true} #209#return; {2643#true} is VALID [2018-11-23 13:01:20,247 INFO L256 TraceCheckUtils]: 4: Hoare triple {2643#true} call #t~ret26 := main(); {2643#true} is VALID [2018-11-23 13:01:20,248 INFO L273 TraceCheckUtils]: 5: Hoare triple {2643#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,249 INFO L273 TraceCheckUtils]: 6: Hoare triple {2645#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,249 INFO L273 TraceCheckUtils]: 7: Hoare triple {2645#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,249 INFO L273 TraceCheckUtils]: 8: Hoare triple {2645#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,250 INFO L273 TraceCheckUtils]: 9: Hoare triple {2645#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,250 INFO L273 TraceCheckUtils]: 10: Hoare triple {2645#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,251 INFO L273 TraceCheckUtils]: 11: Hoare triple {2645#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,251 INFO L273 TraceCheckUtils]: 12: Hoare triple {2645#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,252 INFO L273 TraceCheckUtils]: 13: Hoare triple {2645#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,253 INFO L273 TraceCheckUtils]: 14: Hoare triple {2645#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,254 INFO L273 TraceCheckUtils]: 15: Hoare triple {2645#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,255 INFO L273 TraceCheckUtils]: 16: Hoare triple {2645#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,255 INFO L273 TraceCheckUtils]: 17: Hoare triple {2645#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,256 INFO L273 TraceCheckUtils]: 18: Hoare triple {2645#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,257 INFO L273 TraceCheckUtils]: 19: Hoare triple {2645#(<= 5 main_~max~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {2645#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:20,257 INFO L256 TraceCheckUtils]: 20: Hoare triple {2645#(<= 5 main_~max~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {2643#true} is VALID [2018-11-23 13:01:20,258 INFO L273 TraceCheckUtils]: 21: Hoare triple {2643#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {2646#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:20,258 INFO L256 TraceCheckUtils]: 22: Hoare triple {2646#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {2643#true} is VALID [2018-11-23 13:01:20,259 INFO L273 TraceCheckUtils]: 23: Hoare triple {2643#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:20,266 INFO L273 TraceCheckUtils]: 24: Hoare triple {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:20,267 INFO L256 TraceCheckUtils]: 25: Hoare triple {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {2643#true} is VALID [2018-11-23 13:01:20,267 INFO L273 TraceCheckUtils]: 26: Hoare triple {2643#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2648#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:20,268 INFO L273 TraceCheckUtils]: 27: Hoare triple {2648#(<= |sll_create_#in~len| sll_create_~len)} assume !(~len > 0); {2649#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:20,269 INFO L273 TraceCheckUtils]: 28: Hoare triple {2649#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2649#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:20,269 INFO L273 TraceCheckUtils]: 29: Hoare triple {2649#(<= |sll_create_#in~len| 0)} assume true; {2649#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:20,270 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2649#(<= |sll_create_#in~len| 0)} {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,270 INFO L273 TraceCheckUtils]: 31: Hoare triple {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,271 INFO L273 TraceCheckUtils]: 32: Hoare triple {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} assume true; {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,272 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} {2646#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,273 INFO L273 TraceCheckUtils]: 34: Hoare triple {2651#(<= |sll_append_#in~sublist_length| 0)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,273 INFO L273 TraceCheckUtils]: 35: Hoare triple {2651#(<= |sll_append_#in~sublist_length| 0)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,274 INFO L273 TraceCheckUtils]: 36: Hoare triple {2651#(<= |sll_append_#in~sublist_length| 0)} assume true; {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,275 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2651#(<= |sll_append_#in~sublist_length| 0)} {2645#(<= 5 main_~max~0)} #199#return; {2652#(<= (+ main_~i~0 5) main_~max~0)} is VALID [2018-11-23 13:01:20,276 INFO L273 TraceCheckUtils]: 38: Hoare triple {2652#(<= (+ main_~i~0 5) main_~max~0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {2652#(<= (+ main_~i~0 5) main_~max~0)} is VALID [2018-11-23 13:01:20,276 INFO L273 TraceCheckUtils]: 39: Hoare triple {2652#(<= (+ main_~i~0 5) main_~max~0)} #t~short18 := ~j~0 < 10; {2652#(<= (+ main_~i~0 5) main_~max~0)} is VALID [2018-11-23 13:01:20,277 INFO L273 TraceCheckUtils]: 40: Hoare triple {2652#(<= (+ main_~i~0 5) main_~max~0)} assume !#t~short18; {2652#(<= (+ main_~i~0 5) main_~max~0)} is VALID [2018-11-23 13:01:20,278 INFO L273 TraceCheckUtils]: 41: Hoare triple {2652#(<= (+ main_~i~0 5) main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2652#(<= (+ main_~i~0 5) main_~max~0)} is VALID [2018-11-23 13:01:20,279 INFO L273 TraceCheckUtils]: 42: Hoare triple {2652#(<= (+ main_~i~0 5) main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {2653#(<= (+ main_~i~0 4) main_~max~0)} is VALID [2018-11-23 13:01:20,279 INFO L273 TraceCheckUtils]: 43: Hoare triple {2653#(<= (+ main_~i~0 4) main_~max~0)} assume !(~i~0 <= ~max~0); {2644#false} is VALID [2018-11-23 13:01:20,280 INFO L273 TraceCheckUtils]: 44: Hoare triple {2644#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {2644#false} is VALID [2018-11-23 13:01:20,280 INFO L273 TraceCheckUtils]: 45: Hoare triple {2644#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {2644#false} is VALID [2018-11-23 13:01:20,280 INFO L273 TraceCheckUtils]: 46: Hoare triple {2644#false} assume !(~i~0 > ~max~0); {2644#false} is VALID [2018-11-23 13:01:20,281 INFO L273 TraceCheckUtils]: 47: Hoare triple {2644#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {2644#false} is VALID [2018-11-23 13:01:20,281 INFO L256 TraceCheckUtils]: 48: Hoare triple {2644#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {2643#true} is VALID [2018-11-23 13:01:20,281 INFO L273 TraceCheckUtils]: 49: Hoare triple {2643#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2643#true} is VALID [2018-11-23 13:01:20,282 INFO L273 TraceCheckUtils]: 50: Hoare triple {2643#true} assume !(~head.base != 0 || ~head.offset != 0); {2643#true} is VALID [2018-11-23 13:01:20,282 INFO L273 TraceCheckUtils]: 51: Hoare triple {2643#true} #res := ~len~0; {2643#true} is VALID [2018-11-23 13:01:20,282 INFO L273 TraceCheckUtils]: 52: Hoare triple {2643#true} assume true; {2643#true} is VALID [2018-11-23 13:01:20,282 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {2643#true} {2644#false} #201#return; {2644#false} is VALID [2018-11-23 13:01:20,283 INFO L273 TraceCheckUtils]: 54: Hoare triple {2644#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {2644#false} is VALID [2018-11-23 13:01:20,283 INFO L273 TraceCheckUtils]: 55: Hoare triple {2644#false} assume !(~i~0 == ~count~0); {2644#false} is VALID [2018-11-23 13:01:20,283 INFO L273 TraceCheckUtils]: 56: Hoare triple {2644#false} assume !(3 == ~i~0 && 5 == ~count~0); {2644#false} is VALID [2018-11-23 13:01:20,283 INFO L273 TraceCheckUtils]: 57: Hoare triple {2644#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {2644#false} is VALID [2018-11-23 13:01:20,284 INFO L273 TraceCheckUtils]: 58: Hoare triple {2644#false} assume !false; {2644#false} is VALID [2018-11-23 13:01:20,287 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:01:20,287 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:20,288 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:20,304 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:20,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:20,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:20,373 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:20,779 INFO L256 TraceCheckUtils]: 0: Hoare triple {2643#true} call ULTIMATE.init(); {2643#true} is VALID [2018-11-23 13:01:20,779 INFO L273 TraceCheckUtils]: 1: Hoare triple {2643#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2643#true} is VALID [2018-11-23 13:01:20,779 INFO L273 TraceCheckUtils]: 2: Hoare triple {2643#true} assume true; {2643#true} is VALID [2018-11-23 13:01:20,780 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2643#true} {2643#true} #209#return; {2643#true} is VALID [2018-11-23 13:01:20,780 INFO L256 TraceCheckUtils]: 4: Hoare triple {2643#true} call #t~ret26 := main(); {2643#true} is VALID [2018-11-23 13:01:20,781 INFO L273 TraceCheckUtils]: 5: Hoare triple {2643#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {2672#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:20,781 INFO L273 TraceCheckUtils]: 6: Hoare triple {2672#(<= 3 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {2672#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:20,783 INFO L273 TraceCheckUtils]: 7: Hoare triple {2672#(<= 3 main_~i~0)} #t~short18 := ~j~0 < 10; {2672#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:20,783 INFO L273 TraceCheckUtils]: 8: Hoare triple {2672#(<= 3 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {2672#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:20,785 INFO L273 TraceCheckUtils]: 9: Hoare triple {2672#(<= 3 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2672#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:20,785 INFO L273 TraceCheckUtils]: 10: Hoare triple {2672#(<= 3 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {2688#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:20,787 INFO L273 TraceCheckUtils]: 11: Hoare triple {2688#(<= 4 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {2688#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:20,787 INFO L273 TraceCheckUtils]: 12: Hoare triple {2688#(<= 4 main_~i~0)} #t~short18 := ~j~0 < 10; {2688#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:20,789 INFO L273 TraceCheckUtils]: 13: Hoare triple {2688#(<= 4 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {2688#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:20,789 INFO L273 TraceCheckUtils]: 14: Hoare triple {2688#(<= 4 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2688#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:20,791 INFO L273 TraceCheckUtils]: 15: Hoare triple {2688#(<= 4 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {2704#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:20,792 INFO L273 TraceCheckUtils]: 16: Hoare triple {2704#(<= 5 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {2704#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:20,795 INFO L273 TraceCheckUtils]: 17: Hoare triple {2704#(<= 5 main_~i~0)} #t~short18 := ~j~0 < 10; {2704#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:20,800 INFO L273 TraceCheckUtils]: 18: Hoare triple {2704#(<= 5 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {2704#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:20,802 INFO L273 TraceCheckUtils]: 19: Hoare triple {2704#(<= 5 main_~i~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {2704#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:20,802 INFO L256 TraceCheckUtils]: 20: Hoare triple {2704#(<= 5 main_~i~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {2643#true} is VALID [2018-11-23 13:01:20,802 INFO L273 TraceCheckUtils]: 21: Hoare triple {2643#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {2646#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:20,803 INFO L256 TraceCheckUtils]: 22: Hoare triple {2646#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {2643#true} is VALID [2018-11-23 13:01:20,804 INFO L273 TraceCheckUtils]: 23: Hoare triple {2643#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:20,804 INFO L273 TraceCheckUtils]: 24: Hoare triple {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:20,804 INFO L256 TraceCheckUtils]: 25: Hoare triple {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {2643#true} is VALID [2018-11-23 13:01:20,805 INFO L273 TraceCheckUtils]: 26: Hoare triple {2643#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2648#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:20,805 INFO L273 TraceCheckUtils]: 27: Hoare triple {2648#(<= |sll_create_#in~len| sll_create_~len)} assume !(~len > 0); {2649#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:20,806 INFO L273 TraceCheckUtils]: 28: Hoare triple {2649#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2649#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:20,806 INFO L273 TraceCheckUtils]: 29: Hoare triple {2649#(<= |sll_create_#in~len| 0)} assume true; {2649#(<= |sll_create_#in~len| 0)} is VALID [2018-11-23 13:01:20,829 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2649#(<= |sll_create_#in~len| 0)} {2647#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,843 INFO L273 TraceCheckUtils]: 31: Hoare triple {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,852 INFO L273 TraceCheckUtils]: 32: Hoare triple {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} assume true; {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,866 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {2650#(<= |node_create_with_sublist_#in~sublist_length| 0)} {2646#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,880 INFO L273 TraceCheckUtils]: 34: Hoare triple {2651#(<= |sll_append_#in~sublist_length| 0)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,889 INFO L273 TraceCheckUtils]: 35: Hoare triple {2651#(<= |sll_append_#in~sublist_length| 0)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,900 INFO L273 TraceCheckUtils]: 36: Hoare triple {2651#(<= |sll_append_#in~sublist_length| 0)} assume true; {2651#(<= |sll_append_#in~sublist_length| 0)} is VALID [2018-11-23 13:01:20,903 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2651#(<= |sll_append_#in~sublist_length| 0)} {2704#(<= 5 main_~i~0)} #199#return; {2644#false} is VALID [2018-11-23 13:01:20,903 INFO L273 TraceCheckUtils]: 38: Hoare triple {2644#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {2644#false} is VALID [2018-11-23 13:01:20,903 INFO L273 TraceCheckUtils]: 39: Hoare triple {2644#false} #t~short18 := ~j~0 < 10; {2644#false} is VALID [2018-11-23 13:01:20,903 INFO L273 TraceCheckUtils]: 40: Hoare triple {2644#false} assume !#t~short18; {2644#false} is VALID [2018-11-23 13:01:20,904 INFO L273 TraceCheckUtils]: 41: Hoare triple {2644#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2644#false} is VALID [2018-11-23 13:01:20,904 INFO L273 TraceCheckUtils]: 42: Hoare triple {2644#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {2644#false} is VALID [2018-11-23 13:01:20,904 INFO L273 TraceCheckUtils]: 43: Hoare triple {2644#false} assume !(~i~0 <= ~max~0); {2644#false} is VALID [2018-11-23 13:01:20,904 INFO L273 TraceCheckUtils]: 44: Hoare triple {2644#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {2644#false} is VALID [2018-11-23 13:01:20,905 INFO L273 TraceCheckUtils]: 45: Hoare triple {2644#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {2644#false} is VALID [2018-11-23 13:01:20,905 INFO L273 TraceCheckUtils]: 46: Hoare triple {2644#false} assume !(~i~0 > ~max~0); {2644#false} is VALID [2018-11-23 13:01:20,905 INFO L273 TraceCheckUtils]: 47: Hoare triple {2644#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {2644#false} is VALID [2018-11-23 13:01:20,905 INFO L256 TraceCheckUtils]: 48: Hoare triple {2644#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L273 TraceCheckUtils]: 49: Hoare triple {2644#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L273 TraceCheckUtils]: 50: Hoare triple {2644#false} assume !(~head.base != 0 || ~head.offset != 0); {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L273 TraceCheckUtils]: 51: Hoare triple {2644#false} #res := ~len~0; {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L273 TraceCheckUtils]: 52: Hoare triple {2644#false} assume true; {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {2644#false} {2644#false} #201#return; {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L273 TraceCheckUtils]: 54: Hoare triple {2644#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {2644#false} is VALID [2018-11-23 13:01:20,906 INFO L273 TraceCheckUtils]: 55: Hoare triple {2644#false} assume !(~i~0 == ~count~0); {2644#false} is VALID [2018-11-23 13:01:20,907 INFO L273 TraceCheckUtils]: 56: Hoare triple {2644#false} assume !(3 == ~i~0 && 5 == ~count~0); {2644#false} is VALID [2018-11-23 13:01:20,907 INFO L273 TraceCheckUtils]: 57: Hoare triple {2644#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {2644#false} is VALID [2018-11-23 13:01:20,907 INFO L273 TraceCheckUtils]: 58: Hoare triple {2644#false} assume !false; {2644#false} is VALID [2018-11-23 13:01:20,909 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 27 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:20,930 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 13:01:20,930 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [11] total 14 [2018-11-23 13:01:20,931 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 59 [2018-11-23 13:01:20,931 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:20,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 13:01:21,033 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:21,033 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 13:01:21,034 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 13:01:21,034 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=153, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:01:21,034 INFO L87 Difference]: Start difference. First operand 98 states and 120 transitions. Second operand 14 states. [2018-11-23 13:01:23,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:23,050 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2018-11-23 13:01:23,050 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 13:01:23,050 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 59 [2018-11-23 13:01:23,050 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:23,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:01:23,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 171 transitions. [2018-11-23 13:01:23,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:01:23,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 171 transitions. [2018-11-23 13:01:23,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 171 transitions. [2018-11-23 13:01:23,280 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:23,283 INFO L225 Difference]: With dead ends: 182 [2018-11-23 13:01:23,284 INFO L226 Difference]: Without dead ends: 100 [2018-11-23 13:01:23,285 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2018-11-23 13:01:23,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-23 13:01:23,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 94. [2018-11-23 13:01:23,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:23,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 94 states. [2018-11-23 13:01:23,388 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 94 states. [2018-11-23 13:01:23,388 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 94 states. [2018-11-23 13:01:23,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:23,392 INFO L93 Difference]: Finished difference Result 100 states and 120 transitions. [2018-11-23 13:01:23,392 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 120 transitions. [2018-11-23 13:01:23,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:23,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:23,392 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 100 states. [2018-11-23 13:01:23,393 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 100 states. [2018-11-23 13:01:23,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:23,396 INFO L93 Difference]: Finished difference Result 100 states and 120 transitions. [2018-11-23 13:01:23,396 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 120 transitions. [2018-11-23 13:01:23,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:23,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:23,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:23,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:23,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2018-11-23 13:01:23,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 115 transitions. [2018-11-23 13:01:23,400 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 115 transitions. Word has length 59 [2018-11-23 13:01:23,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:23,400 INFO L480 AbstractCegarLoop]: Abstraction has 94 states and 115 transitions. [2018-11-23 13:01:23,400 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 13:01:23,401 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 115 transitions. [2018-11-23 13:01:23,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 13:01:23,402 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:23,402 INFO L402 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:23,402 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:23,402 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:23,402 INFO L82 PathProgramCache]: Analyzing trace with hash 223245496, now seen corresponding path program 1 times [2018-11-23 13:01:23,402 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:23,403 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:23,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:23,404 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:23,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:23,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:23,612 INFO L256 TraceCheckUtils]: 0: Hoare triple {3421#true} call ULTIMATE.init(); {3421#true} is VALID [2018-11-23 13:01:23,613 INFO L273 TraceCheckUtils]: 1: Hoare triple {3421#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3421#true} is VALID [2018-11-23 13:01:23,613 INFO L273 TraceCheckUtils]: 2: Hoare triple {3421#true} assume true; {3421#true} is VALID [2018-11-23 13:01:23,613 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3421#true} {3421#true} #209#return; {3421#true} is VALID [2018-11-23 13:01:23,613 INFO L256 TraceCheckUtils]: 4: Hoare triple {3421#true} call #t~ret26 := main(); {3421#true} is VALID [2018-11-23 13:01:23,614 INFO L273 TraceCheckUtils]: 5: Hoare triple {3421#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,615 INFO L273 TraceCheckUtils]: 6: Hoare triple {3423#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,615 INFO L273 TraceCheckUtils]: 7: Hoare triple {3423#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,615 INFO L273 TraceCheckUtils]: 8: Hoare triple {3423#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,616 INFO L273 TraceCheckUtils]: 9: Hoare triple {3423#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,616 INFO L273 TraceCheckUtils]: 10: Hoare triple {3423#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,618 INFO L273 TraceCheckUtils]: 11: Hoare triple {3423#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,619 INFO L273 TraceCheckUtils]: 12: Hoare triple {3423#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,619 INFO L273 TraceCheckUtils]: 13: Hoare triple {3423#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,620 INFO L273 TraceCheckUtils]: 14: Hoare triple {3423#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,620 INFO L273 TraceCheckUtils]: 15: Hoare triple {3423#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,621 INFO L273 TraceCheckUtils]: 16: Hoare triple {3423#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,621 INFO L273 TraceCheckUtils]: 17: Hoare triple {3423#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,622 INFO L273 TraceCheckUtils]: 18: Hoare triple {3423#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,623 INFO L273 TraceCheckUtils]: 19: Hoare triple {3423#(<= 5 main_~max~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {3423#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:23,623 INFO L256 TraceCheckUtils]: 20: Hoare triple {3423#(<= 5 main_~max~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {3421#true} is VALID [2018-11-23 13:01:23,623 INFO L273 TraceCheckUtils]: 21: Hoare triple {3421#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {3424#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:23,624 INFO L256 TraceCheckUtils]: 22: Hoare triple {3424#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {3421#true} is VALID [2018-11-23 13:01:23,625 INFO L273 TraceCheckUtils]: 23: Hoare triple {3421#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:23,625 INFO L273 TraceCheckUtils]: 24: Hoare triple {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:23,626 INFO L256 TraceCheckUtils]: 25: Hoare triple {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {3421#true} is VALID [2018-11-23 13:01:23,626 INFO L273 TraceCheckUtils]: 26: Hoare triple {3421#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3426#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:23,629 INFO L273 TraceCheckUtils]: 27: Hoare triple {3426#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3426#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:23,629 INFO L273 TraceCheckUtils]: 28: Hoare triple {3426#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3426#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:23,630 INFO L273 TraceCheckUtils]: 29: Hoare triple {3426#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {3427#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:23,631 INFO L273 TraceCheckUtils]: 30: Hoare triple {3427#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(~len > 0); {3428#(<= |sll_create_#in~len| 1)} is VALID [2018-11-23 13:01:23,631 INFO L273 TraceCheckUtils]: 31: Hoare triple {3428#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3428#(<= |sll_create_#in~len| 1)} is VALID [2018-11-23 13:01:23,631 INFO L273 TraceCheckUtils]: 32: Hoare triple {3428#(<= |sll_create_#in~len| 1)} assume true; {3428#(<= |sll_create_#in~len| 1)} is VALID [2018-11-23 13:01:23,647 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {3428#(<= |sll_create_#in~len| 1)} {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,648 INFO L273 TraceCheckUtils]: 34: Hoare triple {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,648 INFO L273 TraceCheckUtils]: 35: Hoare triple {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} assume true; {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,649 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} {3424#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,649 INFO L273 TraceCheckUtils]: 37: Hoare triple {3430#(<= |sll_append_#in~sublist_length| 1)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,650 INFO L273 TraceCheckUtils]: 38: Hoare triple {3430#(<= |sll_append_#in~sublist_length| 1)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,650 INFO L273 TraceCheckUtils]: 39: Hoare triple {3430#(<= |sll_append_#in~sublist_length| 1)} assume true; {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:23,651 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3430#(<= |sll_append_#in~sublist_length| 1)} {3423#(<= 5 main_~max~0)} #199#return; {3431#(<= (+ main_~i~0 4) main_~max~0)} is VALID [2018-11-23 13:01:23,652 INFO L273 TraceCheckUtils]: 41: Hoare triple {3431#(<= (+ main_~i~0 4) main_~max~0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {3431#(<= (+ main_~i~0 4) main_~max~0)} is VALID [2018-11-23 13:01:23,652 INFO L273 TraceCheckUtils]: 42: Hoare triple {3431#(<= (+ main_~i~0 4) main_~max~0)} #t~short18 := ~j~0 < 10; {3431#(<= (+ main_~i~0 4) main_~max~0)} is VALID [2018-11-23 13:01:23,653 INFO L273 TraceCheckUtils]: 43: Hoare triple {3431#(<= (+ main_~i~0 4) main_~max~0)} assume !#t~short18; {3431#(<= (+ main_~i~0 4) main_~max~0)} is VALID [2018-11-23 13:01:23,653 INFO L273 TraceCheckUtils]: 44: Hoare triple {3431#(<= (+ main_~i~0 4) main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3431#(<= (+ main_~i~0 4) main_~max~0)} is VALID [2018-11-23 13:01:23,654 INFO L273 TraceCheckUtils]: 45: Hoare triple {3431#(<= (+ main_~i~0 4) main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {3432#(<= (+ main_~i~0 3) main_~max~0)} is VALID [2018-11-23 13:01:23,655 INFO L273 TraceCheckUtils]: 46: Hoare triple {3432#(<= (+ main_~i~0 3) main_~max~0)} assume !(~i~0 <= ~max~0); {3422#false} is VALID [2018-11-23 13:01:23,655 INFO L273 TraceCheckUtils]: 47: Hoare triple {3422#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {3422#false} is VALID [2018-11-23 13:01:23,655 INFO L273 TraceCheckUtils]: 48: Hoare triple {3422#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {3422#false} is VALID [2018-11-23 13:01:23,656 INFO L273 TraceCheckUtils]: 49: Hoare triple {3422#false} assume !(~i~0 > ~max~0); {3422#false} is VALID [2018-11-23 13:01:23,656 INFO L273 TraceCheckUtils]: 50: Hoare triple {3422#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {3422#false} is VALID [2018-11-23 13:01:23,656 INFO L256 TraceCheckUtils]: 51: Hoare triple {3422#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {3421#true} is VALID [2018-11-23 13:01:23,656 INFO L273 TraceCheckUtils]: 52: Hoare triple {3421#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3421#true} is VALID [2018-11-23 13:01:23,657 INFO L273 TraceCheckUtils]: 53: Hoare triple {3421#true} assume !(~head.base != 0 || ~head.offset != 0); {3421#true} is VALID [2018-11-23 13:01:23,657 INFO L273 TraceCheckUtils]: 54: Hoare triple {3421#true} #res := ~len~0; {3421#true} is VALID [2018-11-23 13:01:23,657 INFO L273 TraceCheckUtils]: 55: Hoare triple {3421#true} assume true; {3421#true} is VALID [2018-11-23 13:01:23,657 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {3421#true} {3422#false} #201#return; {3422#false} is VALID [2018-11-23 13:01:23,658 INFO L273 TraceCheckUtils]: 57: Hoare triple {3422#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {3422#false} is VALID [2018-11-23 13:01:23,658 INFO L273 TraceCheckUtils]: 58: Hoare triple {3422#false} assume !(~i~0 == ~count~0); {3422#false} is VALID [2018-11-23 13:01:23,658 INFO L273 TraceCheckUtils]: 59: Hoare triple {3422#false} assume !(3 == ~i~0 && 5 == ~count~0); {3422#false} is VALID [2018-11-23 13:01:23,658 INFO L273 TraceCheckUtils]: 60: Hoare triple {3422#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {3422#false} is VALID [2018-11-23 13:01:23,660 INFO L273 TraceCheckUtils]: 61: Hoare triple {3422#false} assume !false; {3422#false} is VALID [2018-11-23 13:01:23,664 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:01:23,664 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:23,664 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:23,678 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:23,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:23,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:23,767 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:24,438 INFO L256 TraceCheckUtils]: 0: Hoare triple {3421#true} call ULTIMATE.init(); {3421#true} is VALID [2018-11-23 13:01:24,438 INFO L273 TraceCheckUtils]: 1: Hoare triple {3421#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3421#true} is VALID [2018-11-23 13:01:24,438 INFO L273 TraceCheckUtils]: 2: Hoare triple {3421#true} assume true; {3421#true} is VALID [2018-11-23 13:01:24,439 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3421#true} {3421#true} #209#return; {3421#true} is VALID [2018-11-23 13:01:24,439 INFO L256 TraceCheckUtils]: 4: Hoare triple {3421#true} call #t~ret26 := main(); {3421#true} is VALID [2018-11-23 13:01:24,440 INFO L273 TraceCheckUtils]: 5: Hoare triple {3421#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {3451#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:24,441 INFO L273 TraceCheckUtils]: 6: Hoare triple {3451#(<= 3 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {3451#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:24,442 INFO L273 TraceCheckUtils]: 7: Hoare triple {3451#(<= 3 main_~i~0)} #t~short18 := ~j~0 < 10; {3451#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:24,444 INFO L273 TraceCheckUtils]: 8: Hoare triple {3451#(<= 3 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {3451#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:24,444 INFO L273 TraceCheckUtils]: 9: Hoare triple {3451#(<= 3 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3451#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:24,445 INFO L273 TraceCheckUtils]: 10: Hoare triple {3451#(<= 3 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {3467#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:24,445 INFO L273 TraceCheckUtils]: 11: Hoare triple {3467#(<= 4 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {3467#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:24,445 INFO L273 TraceCheckUtils]: 12: Hoare triple {3467#(<= 4 main_~i~0)} #t~short18 := ~j~0 < 10; {3467#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:24,446 INFO L273 TraceCheckUtils]: 13: Hoare triple {3467#(<= 4 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {3467#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:24,446 INFO L273 TraceCheckUtils]: 14: Hoare triple {3467#(<= 4 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3467#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:24,447 INFO L273 TraceCheckUtils]: 15: Hoare triple {3467#(<= 4 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {3483#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:24,447 INFO L273 TraceCheckUtils]: 16: Hoare triple {3483#(<= 5 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {3483#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:24,448 INFO L273 TraceCheckUtils]: 17: Hoare triple {3483#(<= 5 main_~i~0)} #t~short18 := ~j~0 < 10; {3483#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:24,448 INFO L273 TraceCheckUtils]: 18: Hoare triple {3483#(<= 5 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {3483#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:24,448 INFO L273 TraceCheckUtils]: 19: Hoare triple {3483#(<= 5 main_~i~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {3483#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:24,449 INFO L256 TraceCheckUtils]: 20: Hoare triple {3483#(<= 5 main_~i~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {3421#true} is VALID [2018-11-23 13:01:24,449 INFO L273 TraceCheckUtils]: 21: Hoare triple {3421#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {3424#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:24,450 INFO L256 TraceCheckUtils]: 22: Hoare triple {3424#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {3421#true} is VALID [2018-11-23 13:01:24,452 INFO L273 TraceCheckUtils]: 23: Hoare triple {3421#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:24,452 INFO L273 TraceCheckUtils]: 24: Hoare triple {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:24,453 INFO L256 TraceCheckUtils]: 25: Hoare triple {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {3421#true} is VALID [2018-11-23 13:01:24,455 INFO L273 TraceCheckUtils]: 26: Hoare triple {3421#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3426#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:24,455 INFO L273 TraceCheckUtils]: 27: Hoare triple {3426#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3426#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:24,456 INFO L273 TraceCheckUtils]: 28: Hoare triple {3426#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3426#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:24,456 INFO L273 TraceCheckUtils]: 29: Hoare triple {3426#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {3427#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:24,457 INFO L273 TraceCheckUtils]: 30: Hoare triple {3427#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(~len > 0); {3428#(<= |sll_create_#in~len| 1)} is VALID [2018-11-23 13:01:24,457 INFO L273 TraceCheckUtils]: 31: Hoare triple {3428#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3428#(<= |sll_create_#in~len| 1)} is VALID [2018-11-23 13:01:24,458 INFO L273 TraceCheckUtils]: 32: Hoare triple {3428#(<= |sll_create_#in~len| 1)} assume true; {3428#(<= |sll_create_#in~len| 1)} is VALID [2018-11-23 13:01:24,458 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {3428#(<= |sll_create_#in~len| 1)} {3425#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,459 INFO L273 TraceCheckUtils]: 34: Hoare triple {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,460 INFO L273 TraceCheckUtils]: 35: Hoare triple {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} assume true; {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,461 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {3429#(<= |node_create_with_sublist_#in~sublist_length| 1)} {3424#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,462 INFO L273 TraceCheckUtils]: 37: Hoare triple {3430#(<= |sll_append_#in~sublist_length| 1)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,462 INFO L273 TraceCheckUtils]: 38: Hoare triple {3430#(<= |sll_append_#in~sublist_length| 1)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,463 INFO L273 TraceCheckUtils]: 39: Hoare triple {3430#(<= |sll_append_#in~sublist_length| 1)} assume true; {3430#(<= |sll_append_#in~sublist_length| 1)} is VALID [2018-11-23 13:01:24,464 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3430#(<= |sll_append_#in~sublist_length| 1)} {3483#(<= 5 main_~i~0)} #199#return; {3422#false} is VALID [2018-11-23 13:01:24,464 INFO L273 TraceCheckUtils]: 41: Hoare triple {3422#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {3422#false} is VALID [2018-11-23 13:01:24,465 INFO L273 TraceCheckUtils]: 42: Hoare triple {3422#false} #t~short18 := ~j~0 < 10; {3422#false} is VALID [2018-11-23 13:01:24,465 INFO L273 TraceCheckUtils]: 43: Hoare triple {3422#false} assume !#t~short18; {3422#false} is VALID [2018-11-23 13:01:24,465 INFO L273 TraceCheckUtils]: 44: Hoare triple {3422#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3422#false} is VALID [2018-11-23 13:01:24,465 INFO L273 TraceCheckUtils]: 45: Hoare triple {3422#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {3422#false} is VALID [2018-11-23 13:01:24,465 INFO L273 TraceCheckUtils]: 46: Hoare triple {3422#false} assume !(~i~0 <= ~max~0); {3422#false} is VALID [2018-11-23 13:01:24,466 INFO L273 TraceCheckUtils]: 47: Hoare triple {3422#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {3422#false} is VALID [2018-11-23 13:01:24,466 INFO L273 TraceCheckUtils]: 48: Hoare triple {3422#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {3422#false} is VALID [2018-11-23 13:01:24,466 INFO L273 TraceCheckUtils]: 49: Hoare triple {3422#false} assume !(~i~0 > ~max~0); {3422#false} is VALID [2018-11-23 13:01:24,466 INFO L273 TraceCheckUtils]: 50: Hoare triple {3422#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {3422#false} is VALID [2018-11-23 13:01:24,466 INFO L256 TraceCheckUtils]: 51: Hoare triple {3422#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 52: Hoare triple {3422#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 53: Hoare triple {3422#false} assume !(~head.base != 0 || ~head.offset != 0); {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 54: Hoare triple {3422#false} #res := ~len~0; {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 55: Hoare triple {3422#false} assume true; {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {3422#false} {3422#false} #201#return; {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 57: Hoare triple {3422#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 58: Hoare triple {3422#false} assume !(~i~0 == ~count~0); {3422#false} is VALID [2018-11-23 13:01:24,467 INFO L273 TraceCheckUtils]: 59: Hoare triple {3422#false} assume !(3 == ~i~0 && 5 == ~count~0); {3422#false} is VALID [2018-11-23 13:01:24,468 INFO L273 TraceCheckUtils]: 60: Hoare triple {3422#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {3422#false} is VALID [2018-11-23 13:01:24,468 INFO L273 TraceCheckUtils]: 61: Hoare triple {3422#false} assume !false; {3422#false} is VALID [2018-11-23 13:01:24,470 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 27 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:24,490 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:24,490 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 15 [2018-11-23 13:01:24,490 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 62 [2018-11-23 13:01:24,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:24,491 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 13:01:24,581 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:24,581 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 13:01:24,581 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 13:01:24,582 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=178, Unknown=0, NotChecked=0, Total=210 [2018-11-23 13:01:24,582 INFO L87 Difference]: Start difference. First operand 94 states and 115 transitions. Second operand 15 states. [2018-11-23 13:01:26,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:26,651 INFO L93 Difference]: Finished difference Result 190 states and 233 transitions. [2018-11-23 13:01:26,651 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 13:01:26,651 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 62 [2018-11-23 13:01:26,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:26,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 13:01:26,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 174 transitions. [2018-11-23 13:01:26,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 13:01:26,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 174 transitions. [2018-11-23 13:01:26,659 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 174 transitions. [2018-11-23 13:01:26,874 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:26,877 INFO L225 Difference]: With dead ends: 190 [2018-11-23 13:01:26,877 INFO L226 Difference]: Without dead ends: 103 [2018-11-23 13:01:26,879 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=358, Unknown=0, NotChecked=0, Total=420 [2018-11-23 13:01:26,879 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2018-11-23 13:01:26,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 97. [2018-11-23 13:01:26,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:26,973 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand 97 states. [2018-11-23 13:01:26,973 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 97 states. [2018-11-23 13:01:26,973 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 97 states. [2018-11-23 13:01:26,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:26,978 INFO L93 Difference]: Finished difference Result 103 states and 123 transitions. [2018-11-23 13:01:26,978 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 123 transitions. [2018-11-23 13:01:26,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:26,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:26,979 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 103 states. [2018-11-23 13:01:26,979 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 103 states. [2018-11-23 13:01:26,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:26,983 INFO L93 Difference]: Finished difference Result 103 states and 123 transitions. [2018-11-23 13:01:26,983 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 123 transitions. [2018-11-23 13:01:26,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:26,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:26,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:26,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:26,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 13:01:26,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 118 transitions. [2018-11-23 13:01:26,988 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 118 transitions. Word has length 62 [2018-11-23 13:01:26,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:26,988 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 118 transitions. [2018-11-23 13:01:26,988 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 13:01:26,989 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 118 transitions. [2018-11-23 13:01:26,989 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2018-11-23 13:01:26,989 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:26,990 INFO L402 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:26,990 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:26,990 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:26,990 INFO L82 PathProgramCache]: Analyzing trace with hash -1599870358, now seen corresponding path program 2 times [2018-11-23 13:01:26,990 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:26,990 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:26,992 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:26,992 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:26,992 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:27,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:27,798 INFO L256 TraceCheckUtils]: 0: Hoare triple {4234#true} call ULTIMATE.init(); {4234#true} is VALID [2018-11-23 13:01:27,798 INFO L273 TraceCheckUtils]: 1: Hoare triple {4234#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4234#true} is VALID [2018-11-23 13:01:27,798 INFO L273 TraceCheckUtils]: 2: Hoare triple {4234#true} assume true; {4234#true} is VALID [2018-11-23 13:01:27,799 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4234#true} {4234#true} #209#return; {4234#true} is VALID [2018-11-23 13:01:27,799 INFO L256 TraceCheckUtils]: 4: Hoare triple {4234#true} call #t~ret26 := main(); {4234#true} is VALID [2018-11-23 13:01:27,799 INFO L273 TraceCheckUtils]: 5: Hoare triple {4234#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,800 INFO L273 TraceCheckUtils]: 6: Hoare triple {4236#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,800 INFO L273 TraceCheckUtils]: 7: Hoare triple {4236#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,801 INFO L273 TraceCheckUtils]: 8: Hoare triple {4236#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,801 INFO L273 TraceCheckUtils]: 9: Hoare triple {4236#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,802 INFO L273 TraceCheckUtils]: 10: Hoare triple {4236#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,802 INFO L273 TraceCheckUtils]: 11: Hoare triple {4236#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,803 INFO L273 TraceCheckUtils]: 12: Hoare triple {4236#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,804 INFO L273 TraceCheckUtils]: 13: Hoare triple {4236#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,804 INFO L273 TraceCheckUtils]: 14: Hoare triple {4236#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,805 INFO L273 TraceCheckUtils]: 15: Hoare triple {4236#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,805 INFO L273 TraceCheckUtils]: 16: Hoare triple {4236#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,806 INFO L273 TraceCheckUtils]: 17: Hoare triple {4236#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,806 INFO L273 TraceCheckUtils]: 18: Hoare triple {4236#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,807 INFO L273 TraceCheckUtils]: 19: Hoare triple {4236#(<= 5 main_~max~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {4236#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:27,807 INFO L256 TraceCheckUtils]: 20: Hoare triple {4236#(<= 5 main_~max~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {4234#true} is VALID [2018-11-23 13:01:27,808 INFO L273 TraceCheckUtils]: 21: Hoare triple {4234#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {4237#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:27,808 INFO L256 TraceCheckUtils]: 22: Hoare triple {4237#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {4234#true} is VALID [2018-11-23 13:01:27,809 INFO L273 TraceCheckUtils]: 23: Hoare triple {4234#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:27,809 INFO L273 TraceCheckUtils]: 24: Hoare triple {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:27,810 INFO L256 TraceCheckUtils]: 25: Hoare triple {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {4234#true} is VALID [2018-11-23 13:01:27,810 INFO L273 TraceCheckUtils]: 26: Hoare triple {4234#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4239#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:27,811 INFO L273 TraceCheckUtils]: 27: Hoare triple {4239#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4239#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:27,811 INFO L273 TraceCheckUtils]: 28: Hoare triple {4239#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4239#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:27,813 INFO L273 TraceCheckUtils]: 29: Hoare triple {4239#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:27,813 INFO L273 TraceCheckUtils]: 30: Hoare triple {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:27,814 INFO L273 TraceCheckUtils]: 31: Hoare triple {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:27,815 INFO L273 TraceCheckUtils]: 32: Hoare triple {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {4241#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:27,816 INFO L273 TraceCheckUtils]: 33: Hoare triple {4241#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(~len > 0); {4242#(<= |sll_create_#in~len| 2)} is VALID [2018-11-23 13:01:27,816 INFO L273 TraceCheckUtils]: 34: Hoare triple {4242#(<= |sll_create_#in~len| 2)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4242#(<= |sll_create_#in~len| 2)} is VALID [2018-11-23 13:01:27,817 INFO L273 TraceCheckUtils]: 35: Hoare triple {4242#(<= |sll_create_#in~len| 2)} assume true; {4242#(<= |sll_create_#in~len| 2)} is VALID [2018-11-23 13:01:27,818 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4242#(<= |sll_create_#in~len| 2)} {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,819 INFO L273 TraceCheckUtils]: 37: Hoare triple {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,819 INFO L273 TraceCheckUtils]: 38: Hoare triple {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} assume true; {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,820 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} {4237#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,821 INFO L273 TraceCheckUtils]: 40: Hoare triple {4244#(<= |sll_append_#in~sublist_length| 2)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,821 INFO L273 TraceCheckUtils]: 41: Hoare triple {4244#(<= |sll_append_#in~sublist_length| 2)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,822 INFO L273 TraceCheckUtils]: 42: Hoare triple {4244#(<= |sll_append_#in~sublist_length| 2)} assume true; {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:27,823 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4244#(<= |sll_append_#in~sublist_length| 2)} {4236#(<= 5 main_~max~0)} #199#return; {4245#(<= (+ main_~i~0 3) main_~max~0)} is VALID [2018-11-23 13:01:27,824 INFO L273 TraceCheckUtils]: 44: Hoare triple {4245#(<= (+ main_~i~0 3) main_~max~0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {4245#(<= (+ main_~i~0 3) main_~max~0)} is VALID [2018-11-23 13:01:27,825 INFO L273 TraceCheckUtils]: 45: Hoare triple {4245#(<= (+ main_~i~0 3) main_~max~0)} #t~short18 := ~j~0 < 10; {4245#(<= (+ main_~i~0 3) main_~max~0)} is VALID [2018-11-23 13:01:27,825 INFO L273 TraceCheckUtils]: 46: Hoare triple {4245#(<= (+ main_~i~0 3) main_~max~0)} assume !#t~short18; {4245#(<= (+ main_~i~0 3) main_~max~0)} is VALID [2018-11-23 13:01:27,826 INFO L273 TraceCheckUtils]: 47: Hoare triple {4245#(<= (+ main_~i~0 3) main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4245#(<= (+ main_~i~0 3) main_~max~0)} is VALID [2018-11-23 13:01:27,827 INFO L273 TraceCheckUtils]: 48: Hoare triple {4245#(<= (+ main_~i~0 3) main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {4246#(<= (+ main_~i~0 2) main_~max~0)} is VALID [2018-11-23 13:01:27,827 INFO L273 TraceCheckUtils]: 49: Hoare triple {4246#(<= (+ main_~i~0 2) main_~max~0)} assume !(~i~0 <= ~max~0); {4235#false} is VALID [2018-11-23 13:01:27,828 INFO L273 TraceCheckUtils]: 50: Hoare triple {4235#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {4235#false} is VALID [2018-11-23 13:01:27,828 INFO L273 TraceCheckUtils]: 51: Hoare triple {4235#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {4235#false} is VALID [2018-11-23 13:01:27,828 INFO L273 TraceCheckUtils]: 52: Hoare triple {4235#false} assume !(~i~0 > ~max~0); {4235#false} is VALID [2018-11-23 13:01:27,828 INFO L273 TraceCheckUtils]: 53: Hoare triple {4235#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {4235#false} is VALID [2018-11-23 13:01:27,828 INFO L256 TraceCheckUtils]: 54: Hoare triple {4235#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {4234#true} is VALID [2018-11-23 13:01:27,829 INFO L273 TraceCheckUtils]: 55: Hoare triple {4234#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4234#true} is VALID [2018-11-23 13:01:27,829 INFO L273 TraceCheckUtils]: 56: Hoare triple {4234#true} assume !(~head.base != 0 || ~head.offset != 0); {4234#true} is VALID [2018-11-23 13:01:27,829 INFO L273 TraceCheckUtils]: 57: Hoare triple {4234#true} #res := ~len~0; {4234#true} is VALID [2018-11-23 13:01:27,829 INFO L273 TraceCheckUtils]: 58: Hoare triple {4234#true} assume true; {4234#true} is VALID [2018-11-23 13:01:27,830 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {4234#true} {4235#false} #201#return; {4235#false} is VALID [2018-11-23 13:01:27,830 INFO L273 TraceCheckUtils]: 60: Hoare triple {4235#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {4235#false} is VALID [2018-11-23 13:01:27,830 INFO L273 TraceCheckUtils]: 61: Hoare triple {4235#false} assume !(~i~0 == ~count~0); {4235#false} is VALID [2018-11-23 13:01:27,831 INFO L273 TraceCheckUtils]: 62: Hoare triple {4235#false} assume !(3 == ~i~0 && 5 == ~count~0); {4235#false} is VALID [2018-11-23 13:01:27,831 INFO L273 TraceCheckUtils]: 63: Hoare triple {4235#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {4235#false} is VALID [2018-11-23 13:01:27,831 INFO L273 TraceCheckUtils]: 64: Hoare triple {4235#false} assume !false; {4235#false} is VALID [2018-11-23 13:01:27,835 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 19 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:01:27,835 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:27,835 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:27,851 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:01:27,894 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:01:27,894 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:27,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:27,942 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:28,195 INFO L256 TraceCheckUtils]: 0: Hoare triple {4234#true} call ULTIMATE.init(); {4234#true} is VALID [2018-11-23 13:01:28,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {4234#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4234#true} is VALID [2018-11-23 13:01:28,196 INFO L273 TraceCheckUtils]: 2: Hoare triple {4234#true} assume true; {4234#true} is VALID [2018-11-23 13:01:28,196 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4234#true} {4234#true} #209#return; {4234#true} is VALID [2018-11-23 13:01:28,197 INFO L256 TraceCheckUtils]: 4: Hoare triple {4234#true} call #t~ret26 := main(); {4234#true} is VALID [2018-11-23 13:01:28,198 INFO L273 TraceCheckUtils]: 5: Hoare triple {4234#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {4265#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:28,198 INFO L273 TraceCheckUtils]: 6: Hoare triple {4265#(<= 3 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {4265#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:28,199 INFO L273 TraceCheckUtils]: 7: Hoare triple {4265#(<= 3 main_~i~0)} #t~short18 := ~j~0 < 10; {4265#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:28,199 INFO L273 TraceCheckUtils]: 8: Hoare triple {4265#(<= 3 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {4265#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:28,199 INFO L273 TraceCheckUtils]: 9: Hoare triple {4265#(<= 3 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4265#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:28,200 INFO L273 TraceCheckUtils]: 10: Hoare triple {4265#(<= 3 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {4281#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:28,200 INFO L273 TraceCheckUtils]: 11: Hoare triple {4281#(<= 4 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {4281#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:28,200 INFO L273 TraceCheckUtils]: 12: Hoare triple {4281#(<= 4 main_~i~0)} #t~short18 := ~j~0 < 10; {4281#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:28,201 INFO L273 TraceCheckUtils]: 13: Hoare triple {4281#(<= 4 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {4281#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:28,201 INFO L273 TraceCheckUtils]: 14: Hoare triple {4281#(<= 4 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4281#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:28,202 INFO L273 TraceCheckUtils]: 15: Hoare triple {4281#(<= 4 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {4297#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:28,202 INFO L273 TraceCheckUtils]: 16: Hoare triple {4297#(<= 5 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {4297#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:28,203 INFO L273 TraceCheckUtils]: 17: Hoare triple {4297#(<= 5 main_~i~0)} #t~short18 := ~j~0 < 10; {4297#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:28,203 INFO L273 TraceCheckUtils]: 18: Hoare triple {4297#(<= 5 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {4297#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:28,204 INFO L273 TraceCheckUtils]: 19: Hoare triple {4297#(<= 5 main_~i~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {4297#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:28,204 INFO L256 TraceCheckUtils]: 20: Hoare triple {4297#(<= 5 main_~i~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {4234#true} is VALID [2018-11-23 13:01:28,205 INFO L273 TraceCheckUtils]: 21: Hoare triple {4234#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {4237#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:28,205 INFO L256 TraceCheckUtils]: 22: Hoare triple {4237#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {4234#true} is VALID [2018-11-23 13:01:28,206 INFO L273 TraceCheckUtils]: 23: Hoare triple {4234#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:28,206 INFO L273 TraceCheckUtils]: 24: Hoare triple {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:28,207 INFO L256 TraceCheckUtils]: 25: Hoare triple {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {4234#true} is VALID [2018-11-23 13:01:28,207 INFO L273 TraceCheckUtils]: 26: Hoare triple {4234#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4239#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:28,222 INFO L273 TraceCheckUtils]: 27: Hoare triple {4239#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4239#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:28,222 INFO L273 TraceCheckUtils]: 28: Hoare triple {4239#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4239#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:28,223 INFO L273 TraceCheckUtils]: 29: Hoare triple {4239#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:28,224 INFO L273 TraceCheckUtils]: 30: Hoare triple {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:28,224 INFO L273 TraceCheckUtils]: 31: Hoare triple {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:28,224 INFO L273 TraceCheckUtils]: 32: Hoare triple {4240#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {4241#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:28,225 INFO L273 TraceCheckUtils]: 33: Hoare triple {4241#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(~len > 0); {4242#(<= |sll_create_#in~len| 2)} is VALID [2018-11-23 13:01:28,225 INFO L273 TraceCheckUtils]: 34: Hoare triple {4242#(<= |sll_create_#in~len| 2)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4242#(<= |sll_create_#in~len| 2)} is VALID [2018-11-23 13:01:28,226 INFO L273 TraceCheckUtils]: 35: Hoare triple {4242#(<= |sll_create_#in~len| 2)} assume true; {4242#(<= |sll_create_#in~len| 2)} is VALID [2018-11-23 13:01:28,227 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4242#(<= |sll_create_#in~len| 2)} {4238#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,228 INFO L273 TraceCheckUtils]: 37: Hoare triple {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,228 INFO L273 TraceCheckUtils]: 38: Hoare triple {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} assume true; {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,229 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4243#(<= |node_create_with_sublist_#in~sublist_length| 2)} {4237#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,230 INFO L273 TraceCheckUtils]: 40: Hoare triple {4244#(<= |sll_append_#in~sublist_length| 2)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,231 INFO L273 TraceCheckUtils]: 41: Hoare triple {4244#(<= |sll_append_#in~sublist_length| 2)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,231 INFO L273 TraceCheckUtils]: 42: Hoare triple {4244#(<= |sll_append_#in~sublist_length| 2)} assume true; {4244#(<= |sll_append_#in~sublist_length| 2)} is VALID [2018-11-23 13:01:28,232 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4244#(<= |sll_append_#in~sublist_length| 2)} {4297#(<= 5 main_~i~0)} #199#return; {4235#false} is VALID [2018-11-23 13:01:28,233 INFO L273 TraceCheckUtils]: 44: Hoare triple {4235#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {4235#false} is VALID [2018-11-23 13:01:28,233 INFO L273 TraceCheckUtils]: 45: Hoare triple {4235#false} #t~short18 := ~j~0 < 10; {4235#false} is VALID [2018-11-23 13:01:28,233 INFO L273 TraceCheckUtils]: 46: Hoare triple {4235#false} assume !#t~short18; {4235#false} is VALID [2018-11-23 13:01:28,233 INFO L273 TraceCheckUtils]: 47: Hoare triple {4235#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4235#false} is VALID [2018-11-23 13:01:28,233 INFO L273 TraceCheckUtils]: 48: Hoare triple {4235#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {4235#false} is VALID [2018-11-23 13:01:28,234 INFO L273 TraceCheckUtils]: 49: Hoare triple {4235#false} assume !(~i~0 <= ~max~0); {4235#false} is VALID [2018-11-23 13:01:28,234 INFO L273 TraceCheckUtils]: 50: Hoare triple {4235#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {4235#false} is VALID [2018-11-23 13:01:28,234 INFO L273 TraceCheckUtils]: 51: Hoare triple {4235#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {4235#false} is VALID [2018-11-23 13:01:28,234 INFO L273 TraceCheckUtils]: 52: Hoare triple {4235#false} assume !(~i~0 > ~max~0); {4235#false} is VALID [2018-11-23 13:01:28,234 INFO L273 TraceCheckUtils]: 53: Hoare triple {4235#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L256 TraceCheckUtils]: 54: Hoare triple {4235#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L273 TraceCheckUtils]: 55: Hoare triple {4235#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L273 TraceCheckUtils]: 56: Hoare triple {4235#false} assume !(~head.base != 0 || ~head.offset != 0); {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L273 TraceCheckUtils]: 57: Hoare triple {4235#false} #res := ~len~0; {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L273 TraceCheckUtils]: 58: Hoare triple {4235#false} assume true; {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {4235#false} {4235#false} #201#return; {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L273 TraceCheckUtils]: 60: Hoare triple {4235#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {4235#false} is VALID [2018-11-23 13:01:28,235 INFO L273 TraceCheckUtils]: 61: Hoare triple {4235#false} assume !(~i~0 == ~count~0); {4235#false} is VALID [2018-11-23 13:01:28,236 INFO L273 TraceCheckUtils]: 62: Hoare triple {4235#false} assume !(3 == ~i~0 && 5 == ~count~0); {4235#false} is VALID [2018-11-23 13:01:28,236 INFO L273 TraceCheckUtils]: 63: Hoare triple {4235#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {4235#false} is VALID [2018-11-23 13:01:28,236 INFO L273 TraceCheckUtils]: 64: Hoare triple {4235#false} assume !false; {4235#false} is VALID [2018-11-23 13:01:28,238 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 27 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:28,257 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:28,258 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 16 [2018-11-23 13:01:28,258 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 65 [2018-11-23 13:01:28,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:28,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 13:01:28,351 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:28,351 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 13:01:28,351 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 13:01:28,352 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=204, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:01:28,352 INFO L87 Difference]: Start difference. First operand 97 states and 118 transitions. Second operand 16 states. [2018-11-23 13:01:30,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:30,748 INFO L93 Difference]: Finished difference Result 196 states and 239 transitions. [2018-11-23 13:01:30,748 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 13:01:30,748 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 65 [2018-11-23 13:01:30,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:30,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:01:30,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 177 transitions. [2018-11-23 13:01:30,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:01:30,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 177 transitions. [2018-11-23 13:01:30,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 177 transitions. [2018-11-23 13:01:30,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:30,996 INFO L225 Difference]: With dead ends: 196 [2018-11-23 13:01:30,996 INFO L226 Difference]: Without dead ends: 106 [2018-11-23 13:01:30,997 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2018-11-23 13:01:30,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-23 13:01:31,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 100. [2018-11-23 13:01:31,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:31,238 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 100 states. [2018-11-23 13:01:31,239 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 100 states. [2018-11-23 13:01:31,239 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 100 states. [2018-11-23 13:01:31,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:31,244 INFO L93 Difference]: Finished difference Result 106 states and 126 transitions. [2018-11-23 13:01:31,244 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 126 transitions. [2018-11-23 13:01:31,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:31,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:31,245 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 106 states. [2018-11-23 13:01:31,245 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 106 states. [2018-11-23 13:01:31,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:31,248 INFO L93 Difference]: Finished difference Result 106 states and 126 transitions. [2018-11-23 13:01:31,248 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 126 transitions. [2018-11-23 13:01:31,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:31,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:31,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:31,249 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:31,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2018-11-23 13:01:31,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 121 transitions. [2018-11-23 13:01:31,252 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 121 transitions. Word has length 65 [2018-11-23 13:01:31,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:31,252 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 121 transitions. [2018-11-23 13:01:31,252 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 13:01:31,252 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 121 transitions. [2018-11-23 13:01:31,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 13:01:31,253 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:31,253 INFO L402 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:31,253 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:31,254 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:31,254 INFO L82 PathProgramCache]: Analyzing trace with hash 112148344, now seen corresponding path program 3 times [2018-11-23 13:01:31,254 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:31,254 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:31,255 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:31,255 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:01:31,256 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:31,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:31,725 INFO L256 TraceCheckUtils]: 0: Hoare triple {5075#true} call ULTIMATE.init(); {5075#true} is VALID [2018-11-23 13:01:31,726 INFO L273 TraceCheckUtils]: 1: Hoare triple {5075#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5075#true} is VALID [2018-11-23 13:01:31,726 INFO L273 TraceCheckUtils]: 2: Hoare triple {5075#true} assume true; {5075#true} is VALID [2018-11-23 13:01:31,726 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5075#true} {5075#true} #209#return; {5075#true} is VALID [2018-11-23 13:01:31,726 INFO L256 TraceCheckUtils]: 4: Hoare triple {5075#true} call #t~ret26 := main(); {5075#true} is VALID [2018-11-23 13:01:31,727 INFO L273 TraceCheckUtils]: 5: Hoare triple {5075#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,728 INFO L273 TraceCheckUtils]: 6: Hoare triple {5077#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,728 INFO L273 TraceCheckUtils]: 7: Hoare triple {5077#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,729 INFO L273 TraceCheckUtils]: 8: Hoare triple {5077#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,729 INFO L273 TraceCheckUtils]: 9: Hoare triple {5077#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,730 INFO L273 TraceCheckUtils]: 10: Hoare triple {5077#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,731 INFO L273 TraceCheckUtils]: 11: Hoare triple {5077#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,731 INFO L273 TraceCheckUtils]: 12: Hoare triple {5077#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,732 INFO L273 TraceCheckUtils]: 13: Hoare triple {5077#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,732 INFO L273 TraceCheckUtils]: 14: Hoare triple {5077#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,733 INFO L273 TraceCheckUtils]: 15: Hoare triple {5077#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,733 INFO L273 TraceCheckUtils]: 16: Hoare triple {5077#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,734 INFO L273 TraceCheckUtils]: 17: Hoare triple {5077#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,734 INFO L273 TraceCheckUtils]: 18: Hoare triple {5077#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,735 INFO L273 TraceCheckUtils]: 19: Hoare triple {5077#(<= 5 main_~max~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {5077#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:31,735 INFO L256 TraceCheckUtils]: 20: Hoare triple {5077#(<= 5 main_~max~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {5075#true} is VALID [2018-11-23 13:01:31,736 INFO L273 TraceCheckUtils]: 21: Hoare triple {5075#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5078#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:31,736 INFO L256 TraceCheckUtils]: 22: Hoare triple {5078#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5075#true} is VALID [2018-11-23 13:01:31,737 INFO L273 TraceCheckUtils]: 23: Hoare triple {5075#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5079#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:31,737 INFO L273 TraceCheckUtils]: 24: Hoare triple {5079#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {5079#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:31,738 INFO L256 TraceCheckUtils]: 25: Hoare triple {5079#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5075#true} is VALID [2018-11-23 13:01:31,738 INFO L273 TraceCheckUtils]: 26: Hoare triple {5075#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5080#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:31,739 INFO L273 TraceCheckUtils]: 27: Hoare triple {5080#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5080#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:31,739 INFO L273 TraceCheckUtils]: 28: Hoare triple {5080#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5080#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:31,740 INFO L273 TraceCheckUtils]: 29: Hoare triple {5080#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {5081#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:31,741 INFO L273 TraceCheckUtils]: 30: Hoare triple {5081#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5081#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:31,741 INFO L273 TraceCheckUtils]: 31: Hoare triple {5081#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5081#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:31,742 INFO L273 TraceCheckUtils]: 32: Hoare triple {5081#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {5082#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:31,743 INFO L273 TraceCheckUtils]: 33: Hoare triple {5082#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5082#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:31,744 INFO L273 TraceCheckUtils]: 34: Hoare triple {5082#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5082#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:31,745 INFO L273 TraceCheckUtils]: 35: Hoare triple {5082#(<= |sll_create_#in~len| (+ sll_create_~len 2))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {5083#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:31,745 INFO L273 TraceCheckUtils]: 36: Hoare triple {5083#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !(~len > 0); {5084#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:31,746 INFO L273 TraceCheckUtils]: 37: Hoare triple {5084#(<= |sll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5084#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:31,747 INFO L273 TraceCheckUtils]: 38: Hoare triple {5084#(<= |sll_create_#in~len| 3)} assume true; {5084#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:31,748 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {5084#(<= |sll_create_#in~len| 3)} {5079#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {5085#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,748 INFO L273 TraceCheckUtils]: 40: Hoare triple {5085#(<= |node_create_with_sublist_#in~sublist_length| 3)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5085#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,749 INFO L273 TraceCheckUtils]: 41: Hoare triple {5085#(<= |node_create_with_sublist_#in~sublist_length| 3)} assume true; {5085#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,750 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5085#(<= |node_create_with_sublist_#in~sublist_length| 3)} {5078#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {5086#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,751 INFO L273 TraceCheckUtils]: 43: Hoare triple {5086#(<= |sll_append_#in~sublist_length| 3)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5086#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,751 INFO L273 TraceCheckUtils]: 44: Hoare triple {5086#(<= |sll_append_#in~sublist_length| 3)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {5086#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,752 INFO L273 TraceCheckUtils]: 45: Hoare triple {5086#(<= |sll_append_#in~sublist_length| 3)} assume true; {5086#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:31,754 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5086#(<= |sll_append_#in~sublist_length| 3)} {5077#(<= 5 main_~max~0)} #199#return; {5087#(<= (+ main_~i~0 2) main_~max~0)} is VALID [2018-11-23 13:01:31,754 INFO L273 TraceCheckUtils]: 47: Hoare triple {5087#(<= (+ main_~i~0 2) main_~max~0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {5087#(<= (+ main_~i~0 2) main_~max~0)} is VALID [2018-11-23 13:01:31,755 INFO L273 TraceCheckUtils]: 48: Hoare triple {5087#(<= (+ main_~i~0 2) main_~max~0)} #t~short18 := ~j~0 < 10; {5087#(<= (+ main_~i~0 2) main_~max~0)} is VALID [2018-11-23 13:01:31,755 INFO L273 TraceCheckUtils]: 49: Hoare triple {5087#(<= (+ main_~i~0 2) main_~max~0)} assume !#t~short18; {5087#(<= (+ main_~i~0 2) main_~max~0)} is VALID [2018-11-23 13:01:31,756 INFO L273 TraceCheckUtils]: 50: Hoare triple {5087#(<= (+ main_~i~0 2) main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5087#(<= (+ main_~i~0 2) main_~max~0)} is VALID [2018-11-23 13:01:31,757 INFO L273 TraceCheckUtils]: 51: Hoare triple {5087#(<= (+ main_~i~0 2) main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {5088#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:31,757 INFO L273 TraceCheckUtils]: 52: Hoare triple {5088#(<= (+ main_~i~0 1) main_~max~0)} assume !(~i~0 <= ~max~0); {5076#false} is VALID [2018-11-23 13:01:31,758 INFO L273 TraceCheckUtils]: 53: Hoare triple {5076#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {5076#false} is VALID [2018-11-23 13:01:31,758 INFO L273 TraceCheckUtils]: 54: Hoare triple {5076#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {5076#false} is VALID [2018-11-23 13:01:31,758 INFO L273 TraceCheckUtils]: 55: Hoare triple {5076#false} assume !(~i~0 > ~max~0); {5076#false} is VALID [2018-11-23 13:01:31,758 INFO L273 TraceCheckUtils]: 56: Hoare triple {5076#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {5076#false} is VALID [2018-11-23 13:01:31,758 INFO L256 TraceCheckUtils]: 57: Hoare triple {5076#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {5075#true} is VALID [2018-11-23 13:01:31,759 INFO L273 TraceCheckUtils]: 58: Hoare triple {5075#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5075#true} is VALID [2018-11-23 13:01:31,759 INFO L273 TraceCheckUtils]: 59: Hoare triple {5075#true} assume !(~head.base != 0 || ~head.offset != 0); {5075#true} is VALID [2018-11-23 13:01:31,759 INFO L273 TraceCheckUtils]: 60: Hoare triple {5075#true} #res := ~len~0; {5075#true} is VALID [2018-11-23 13:01:31,759 INFO L273 TraceCheckUtils]: 61: Hoare triple {5075#true} assume true; {5075#true} is VALID [2018-11-23 13:01:31,760 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5075#true} {5076#false} #201#return; {5076#false} is VALID [2018-11-23 13:01:31,760 INFO L273 TraceCheckUtils]: 63: Hoare triple {5076#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {5076#false} is VALID [2018-11-23 13:01:31,760 INFO L273 TraceCheckUtils]: 64: Hoare triple {5076#false} assume !(~i~0 == ~count~0); {5076#false} is VALID [2018-11-23 13:01:31,760 INFO L273 TraceCheckUtils]: 65: Hoare triple {5076#false} assume !(3 == ~i~0 && 5 == ~count~0); {5076#false} is VALID [2018-11-23 13:01:31,760 INFO L273 TraceCheckUtils]: 66: Hoare triple {5076#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {5076#false} is VALID [2018-11-23 13:01:31,761 INFO L273 TraceCheckUtils]: 67: Hoare triple {5076#false} assume !false; {5076#false} is VALID [2018-11-23 13:01:31,764 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:01:31,765 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:31,765 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:31,774 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:01:31,840 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 13:01:31,840 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:31,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:31,864 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:32,006 INFO L256 TraceCheckUtils]: 0: Hoare triple {5075#true} call ULTIMATE.init(); {5075#true} is VALID [2018-11-23 13:01:32,006 INFO L273 TraceCheckUtils]: 1: Hoare triple {5075#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5075#true} is VALID [2018-11-23 13:01:32,006 INFO L273 TraceCheckUtils]: 2: Hoare triple {5075#true} assume true; {5075#true} is VALID [2018-11-23 13:01:32,006 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5075#true} {5075#true} #209#return; {5075#true} is VALID [2018-11-23 13:01:32,007 INFO L256 TraceCheckUtils]: 4: Hoare triple {5075#true} call #t~ret26 := main(); {5075#true} is VALID [2018-11-23 13:01:32,007 INFO L273 TraceCheckUtils]: 5: Hoare triple {5075#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {5075#true} is VALID [2018-11-23 13:01:32,007 INFO L273 TraceCheckUtils]: 6: Hoare triple {5075#true} assume !!(~i~0 <= ~max~0);~j~0 := 0; {5075#true} is VALID [2018-11-23 13:01:32,007 INFO L273 TraceCheckUtils]: 7: Hoare triple {5075#true} #t~short18 := ~j~0 < 10; {5075#true} is VALID [2018-11-23 13:01:32,008 INFO L273 TraceCheckUtils]: 8: Hoare triple {5075#true} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5075#true} is VALID [2018-11-23 13:01:32,008 INFO L273 TraceCheckUtils]: 9: Hoare triple {5075#true} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5075#true} is VALID [2018-11-23 13:01:32,008 INFO L273 TraceCheckUtils]: 10: Hoare triple {5075#true} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {5075#true} is VALID [2018-11-23 13:01:32,008 INFO L273 TraceCheckUtils]: 11: Hoare triple {5075#true} assume !!(~i~0 <= ~max~0);~j~0 := 0; {5075#true} is VALID [2018-11-23 13:01:32,008 INFO L273 TraceCheckUtils]: 12: Hoare triple {5075#true} #t~short18 := ~j~0 < 10; {5075#true} is VALID [2018-11-23 13:01:32,009 INFO L273 TraceCheckUtils]: 13: Hoare triple {5075#true} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5075#true} is VALID [2018-11-23 13:01:32,009 INFO L273 TraceCheckUtils]: 14: Hoare triple {5075#true} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5075#true} is VALID [2018-11-23 13:01:32,009 INFO L273 TraceCheckUtils]: 15: Hoare triple {5075#true} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {5075#true} is VALID [2018-11-23 13:01:32,010 INFO L273 TraceCheckUtils]: 16: Hoare triple {5075#true} assume !!(~i~0 <= ~max~0);~j~0 := 0; {5140#(<= main_~j~0 0)} is VALID [2018-11-23 13:01:32,010 INFO L273 TraceCheckUtils]: 17: Hoare triple {5140#(<= main_~j~0 0)} #t~short18 := ~j~0 < 10; {5140#(<= main_~j~0 0)} is VALID [2018-11-23 13:01:32,010 INFO L273 TraceCheckUtils]: 18: Hoare triple {5140#(<= main_~j~0 0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5140#(<= main_~j~0 0)} is VALID [2018-11-23 13:01:32,011 INFO L273 TraceCheckUtils]: 19: Hoare triple {5140#(<= main_~j~0 0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {5140#(<= main_~j~0 0)} is VALID [2018-11-23 13:01:32,011 INFO L256 TraceCheckUtils]: 20: Hoare triple {5140#(<= main_~j~0 0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {5075#true} is VALID [2018-11-23 13:01:32,011 INFO L273 TraceCheckUtils]: 21: Hoare triple {5075#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5075#true} is VALID [2018-11-23 13:01:32,011 INFO L256 TraceCheckUtils]: 22: Hoare triple {5075#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5075#true} is VALID [2018-11-23 13:01:32,011 INFO L273 TraceCheckUtils]: 23: Hoare triple {5075#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5075#true} is VALID [2018-11-23 13:01:32,011 INFO L273 TraceCheckUtils]: 24: Hoare triple {5075#true} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {5075#true} is VALID [2018-11-23 13:01:32,012 INFO L256 TraceCheckUtils]: 25: Hoare triple {5075#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5075#true} is VALID [2018-11-23 13:01:32,012 INFO L273 TraceCheckUtils]: 26: Hoare triple {5075#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5075#true} is VALID [2018-11-23 13:01:32,012 INFO L273 TraceCheckUtils]: 27: Hoare triple {5075#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5075#true} is VALID [2018-11-23 13:01:32,012 INFO L273 TraceCheckUtils]: 28: Hoare triple {5075#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5075#true} is VALID [2018-11-23 13:01:32,012 INFO L273 TraceCheckUtils]: 29: Hoare triple {5075#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {5075#true} is VALID [2018-11-23 13:01:32,013 INFO L273 TraceCheckUtils]: 30: Hoare triple {5075#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5075#true} is VALID [2018-11-23 13:01:32,013 INFO L273 TraceCheckUtils]: 31: Hoare triple {5075#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5075#true} is VALID [2018-11-23 13:01:32,013 INFO L273 TraceCheckUtils]: 32: Hoare triple {5075#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {5075#true} is VALID [2018-11-23 13:01:32,013 INFO L273 TraceCheckUtils]: 33: Hoare triple {5075#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5075#true} is VALID [2018-11-23 13:01:32,013 INFO L273 TraceCheckUtils]: 34: Hoare triple {5075#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5075#true} is VALID [2018-11-23 13:01:32,013 INFO L273 TraceCheckUtils]: 35: Hoare triple {5075#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {5075#true} is VALID [2018-11-23 13:01:32,014 INFO L273 TraceCheckUtils]: 36: Hoare triple {5075#true} assume !(~len > 0); {5075#true} is VALID [2018-11-23 13:01:32,014 INFO L273 TraceCheckUtils]: 37: Hoare triple {5075#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5075#true} is VALID [2018-11-23 13:01:32,014 INFO L273 TraceCheckUtils]: 38: Hoare triple {5075#true} assume true; {5075#true} is VALID [2018-11-23 13:01:32,014 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {5075#true} {5075#true} #215#return; {5075#true} is VALID [2018-11-23 13:01:32,014 INFO L273 TraceCheckUtils]: 40: Hoare triple {5075#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5075#true} is VALID [2018-11-23 13:01:32,015 INFO L273 TraceCheckUtils]: 41: Hoare triple {5075#true} assume true; {5075#true} is VALID [2018-11-23 13:01:32,015 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5075#true} {5075#true} #205#return; {5075#true} is VALID [2018-11-23 13:01:32,015 INFO L273 TraceCheckUtils]: 43: Hoare triple {5075#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5075#true} is VALID [2018-11-23 13:01:32,015 INFO L273 TraceCheckUtils]: 44: Hoare triple {5075#true} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {5075#true} is VALID [2018-11-23 13:01:32,015 INFO L273 TraceCheckUtils]: 45: Hoare triple {5075#true} assume true; {5075#true} is VALID [2018-11-23 13:01:32,034 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5075#true} {5140#(<= main_~j~0 0)} #199#return; {5140#(<= main_~j~0 0)} is VALID [2018-11-23 13:01:32,043 INFO L273 TraceCheckUtils]: 47: Hoare triple {5140#(<= main_~j~0 0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {5234#(<= main_~j~0 1)} is VALID [2018-11-23 13:01:32,058 INFO L273 TraceCheckUtils]: 48: Hoare triple {5234#(<= main_~j~0 1)} #t~short18 := ~j~0 < 10; {5238#|main_#t~short18|} is VALID [2018-11-23 13:01:32,067 INFO L273 TraceCheckUtils]: 49: Hoare triple {5238#|main_#t~short18|} assume !#t~short18; {5076#false} is VALID [2018-11-23 13:01:32,067 INFO L273 TraceCheckUtils]: 50: Hoare triple {5076#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5076#false} is VALID [2018-11-23 13:01:32,067 INFO L273 TraceCheckUtils]: 51: Hoare triple {5076#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {5076#false} is VALID [2018-11-23 13:01:32,067 INFO L273 TraceCheckUtils]: 52: Hoare triple {5076#false} assume !(~i~0 <= ~max~0); {5076#false} is VALID [2018-11-23 13:01:32,068 INFO L273 TraceCheckUtils]: 53: Hoare triple {5076#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {5076#false} is VALID [2018-11-23 13:01:32,068 INFO L273 TraceCheckUtils]: 54: Hoare triple {5076#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {5076#false} is VALID [2018-11-23 13:01:32,068 INFO L273 TraceCheckUtils]: 55: Hoare triple {5076#false} assume !(~i~0 > ~max~0); {5076#false} is VALID [2018-11-23 13:01:32,068 INFO L273 TraceCheckUtils]: 56: Hoare triple {5076#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {5076#false} is VALID [2018-11-23 13:01:32,068 INFO L256 TraceCheckUtils]: 57: Hoare triple {5076#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {5076#false} is VALID [2018-11-23 13:01:32,068 INFO L273 TraceCheckUtils]: 58: Hoare triple {5076#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5076#false} is VALID [2018-11-23 13:01:32,069 INFO L273 TraceCheckUtils]: 59: Hoare triple {5076#false} assume !(~head.base != 0 || ~head.offset != 0); {5076#false} is VALID [2018-11-23 13:01:32,069 INFO L273 TraceCheckUtils]: 60: Hoare triple {5076#false} #res := ~len~0; {5076#false} is VALID [2018-11-23 13:01:32,069 INFO L273 TraceCheckUtils]: 61: Hoare triple {5076#false} assume true; {5076#false} is VALID [2018-11-23 13:01:32,069 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5076#false} {5076#false} #201#return; {5076#false} is VALID [2018-11-23 13:01:32,069 INFO L273 TraceCheckUtils]: 63: Hoare triple {5076#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {5076#false} is VALID [2018-11-23 13:01:32,069 INFO L273 TraceCheckUtils]: 64: Hoare triple {5076#false} assume !(~i~0 == ~count~0); {5076#false} is VALID [2018-11-23 13:01:32,070 INFO L273 TraceCheckUtils]: 65: Hoare triple {5076#false} assume !(3 == ~i~0 && 5 == ~count~0); {5076#false} is VALID [2018-11-23 13:01:32,070 INFO L273 TraceCheckUtils]: 66: Hoare triple {5076#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {5076#false} is VALID [2018-11-23 13:01:32,070 INFO L273 TraceCheckUtils]: 67: Hoare triple {5076#false} assume !false; {5076#false} is VALID [2018-11-23 13:01:32,073 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2018-11-23 13:01:32,092 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:32,092 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 5] total 17 [2018-11-23 13:01:32,093 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 68 [2018-11-23 13:01:32,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:32,094 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 13:01:32,194 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:32,194 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 13:01:32,194 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 13:01:32,195 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=233, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:01:32,195 INFO L87 Difference]: Start difference. First operand 100 states and 121 transitions. Second operand 17 states. [2018-11-23 13:01:35,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:35,799 INFO L93 Difference]: Finished difference Result 322 states and 429 transitions. [2018-11-23 13:01:35,799 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 13:01:35,799 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 68 [2018-11-23 13:01:35,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:35,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 13:01:35,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 261 transitions. [2018-11-23 13:01:35,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 13:01:35,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 261 transitions. [2018-11-23 13:01:35,808 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 261 transitions. [2018-11-23 13:01:36,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:36,577 INFO L225 Difference]: With dead ends: 322 [2018-11-23 13:01:36,577 INFO L226 Difference]: Without dead ends: 242 [2018-11-23 13:01:36,578 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 170 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=187, Invalid=935, Unknown=0, NotChecked=0, Total=1122 [2018-11-23 13:01:36,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states. [2018-11-23 13:01:36,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 130. [2018-11-23 13:01:36,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:36,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 242 states. Second operand 130 states. [2018-11-23 13:01:36,881 INFO L74 IsIncluded]: Start isIncluded. First operand 242 states. Second operand 130 states. [2018-11-23 13:01:36,881 INFO L87 Difference]: Start difference. First operand 242 states. Second operand 130 states. [2018-11-23 13:01:36,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:36,890 INFO L93 Difference]: Finished difference Result 242 states and 323 transitions. [2018-11-23 13:01:36,890 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 323 transitions. [2018-11-23 13:01:36,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:36,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:36,892 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 242 states. [2018-11-23 13:01:36,892 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 242 states. [2018-11-23 13:01:36,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:36,901 INFO L93 Difference]: Finished difference Result 242 states and 323 transitions. [2018-11-23 13:01:36,901 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 323 transitions. [2018-11-23 13:01:36,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:36,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:36,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:36,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:36,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-11-23 13:01:36,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 164 transitions. [2018-11-23 13:01:36,907 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 164 transitions. Word has length 68 [2018-11-23 13:01:36,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:36,907 INFO L480 AbstractCegarLoop]: Abstraction has 130 states and 164 transitions. [2018-11-23 13:01:36,907 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 13:01:36,908 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 164 transitions. [2018-11-23 13:01:36,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2018-11-23 13:01:36,909 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:36,909 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:36,909 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:36,909 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:36,910 INFO L82 PathProgramCache]: Analyzing trace with hash 1813603368, now seen corresponding path program 1 times [2018-11-23 13:01:36,910 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:36,910 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:36,911 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:36,911 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:01:36,911 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:36,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:37,807 INFO L256 TraceCheckUtils]: 0: Hoare triple {6440#true} call ULTIMATE.init(); {6440#true} is VALID [2018-11-23 13:01:37,807 INFO L273 TraceCheckUtils]: 1: Hoare triple {6440#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6440#true} is VALID [2018-11-23 13:01:37,808 INFO L273 TraceCheckUtils]: 2: Hoare triple {6440#true} assume true; {6440#true} is VALID [2018-11-23 13:01:37,808 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6440#true} {6440#true} #209#return; {6440#true} is VALID [2018-11-23 13:01:37,808 INFO L256 TraceCheckUtils]: 4: Hoare triple {6440#true} call #t~ret26 := main(); {6440#true} is VALID [2018-11-23 13:01:37,809 INFO L273 TraceCheckUtils]: 5: Hoare triple {6440#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,809 INFO L273 TraceCheckUtils]: 6: Hoare triple {6442#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,810 INFO L273 TraceCheckUtils]: 7: Hoare triple {6442#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,811 INFO L273 TraceCheckUtils]: 8: Hoare triple {6442#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,811 INFO L273 TraceCheckUtils]: 9: Hoare triple {6442#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,812 INFO L273 TraceCheckUtils]: 10: Hoare triple {6442#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,812 INFO L273 TraceCheckUtils]: 11: Hoare triple {6442#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,813 INFO L273 TraceCheckUtils]: 12: Hoare triple {6442#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,813 INFO L273 TraceCheckUtils]: 13: Hoare triple {6442#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,814 INFO L273 TraceCheckUtils]: 14: Hoare triple {6442#(<= 5 main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,814 INFO L273 TraceCheckUtils]: 15: Hoare triple {6442#(<= 5 main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,815 INFO L273 TraceCheckUtils]: 16: Hoare triple {6442#(<= 5 main_~max~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,815 INFO L273 TraceCheckUtils]: 17: Hoare triple {6442#(<= 5 main_~max~0)} #t~short18 := ~j~0 < 10; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,816 INFO L273 TraceCheckUtils]: 18: Hoare triple {6442#(<= 5 main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,816 INFO L273 TraceCheckUtils]: 19: Hoare triple {6442#(<= 5 main_~max~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {6442#(<= 5 main_~max~0)} is VALID [2018-11-23 13:01:37,816 INFO L256 TraceCheckUtils]: 20: Hoare triple {6442#(<= 5 main_~max~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {6440#true} is VALID [2018-11-23 13:01:37,817 INFO L273 TraceCheckUtils]: 21: Hoare triple {6440#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {6443#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:37,817 INFO L256 TraceCheckUtils]: 22: Hoare triple {6443#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {6440#true} is VALID [2018-11-23 13:01:37,818 INFO L273 TraceCheckUtils]: 23: Hoare triple {6440#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:37,819 INFO L273 TraceCheckUtils]: 24: Hoare triple {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:37,819 INFO L256 TraceCheckUtils]: 25: Hoare triple {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {6440#true} is VALID [2018-11-23 13:01:37,820 INFO L273 TraceCheckUtils]: 26: Hoare triple {6440#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {6445#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:37,820 INFO L273 TraceCheckUtils]: 27: Hoare triple {6445#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6445#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:37,821 INFO L273 TraceCheckUtils]: 28: Hoare triple {6445#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6445#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:37,822 INFO L273 TraceCheckUtils]: 29: Hoare triple {6445#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:37,822 INFO L273 TraceCheckUtils]: 30: Hoare triple {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:37,823 INFO L273 TraceCheckUtils]: 31: Hoare triple {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:37,824 INFO L273 TraceCheckUtils]: 32: Hoare triple {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:37,825 INFO L273 TraceCheckUtils]: 33: Hoare triple {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:37,825 INFO L273 TraceCheckUtils]: 34: Hoare triple {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:37,826 INFO L273 TraceCheckUtils]: 35: Hoare triple {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:37,827 INFO L273 TraceCheckUtils]: 36: Hoare triple {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:37,827 INFO L273 TraceCheckUtils]: 37: Hoare triple {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:37,828 INFO L273 TraceCheckUtils]: 38: Hoare triple {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6449#(<= |sll_create_#in~len| (+ sll_create_~len 4))} is VALID [2018-11-23 13:01:37,829 INFO L273 TraceCheckUtils]: 39: Hoare triple {6449#(<= |sll_create_#in~len| (+ sll_create_~len 4))} assume !(~len > 0); {6450#(<= |sll_create_#in~len| 4)} is VALID [2018-11-23 13:01:37,830 INFO L273 TraceCheckUtils]: 40: Hoare triple {6450#(<= |sll_create_#in~len| 4)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6450#(<= |sll_create_#in~len| 4)} is VALID [2018-11-23 13:01:37,830 INFO L273 TraceCheckUtils]: 41: Hoare triple {6450#(<= |sll_create_#in~len| 4)} assume true; {6450#(<= |sll_create_#in~len| 4)} is VALID [2018-11-23 13:01:37,831 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6450#(<= |sll_create_#in~len| 4)} {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,832 INFO L273 TraceCheckUtils]: 43: Hoare triple {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,832 INFO L273 TraceCheckUtils]: 44: Hoare triple {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} assume true; {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,834 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} {6443#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,834 INFO L273 TraceCheckUtils]: 46: Hoare triple {6452#(<= |sll_append_#in~sublist_length| 4)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,835 INFO L273 TraceCheckUtils]: 47: Hoare triple {6452#(<= |sll_append_#in~sublist_length| 4)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,835 INFO L273 TraceCheckUtils]: 48: Hoare triple {6452#(<= |sll_append_#in~sublist_length| 4)} assume true; {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:37,837 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {6452#(<= |sll_append_#in~sublist_length| 4)} {6442#(<= 5 main_~max~0)} #199#return; {6453#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:37,838 INFO L273 TraceCheckUtils]: 50: Hoare triple {6453#(<= (+ main_~i~0 1) main_~max~0)} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {6453#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:37,838 INFO L273 TraceCheckUtils]: 51: Hoare triple {6453#(<= (+ main_~i~0 1) main_~max~0)} #t~short18 := ~j~0 < 10; {6453#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:37,839 INFO L273 TraceCheckUtils]: 52: Hoare triple {6453#(<= (+ main_~i~0 1) main_~max~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6453#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:37,839 INFO L273 TraceCheckUtils]: 53: Hoare triple {6453#(<= (+ main_~i~0 1) main_~max~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {6453#(<= (+ main_~i~0 1) main_~max~0)} is VALID [2018-11-23 13:01:37,840 INFO L273 TraceCheckUtils]: 54: Hoare triple {6453#(<= (+ main_~i~0 1) main_~max~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {6454#(<= main_~i~0 main_~max~0)} is VALID [2018-11-23 13:01:37,841 INFO L273 TraceCheckUtils]: 55: Hoare triple {6454#(<= main_~i~0 main_~max~0)} assume !(~i~0 <= ~max~0); {6441#false} is VALID [2018-11-23 13:01:37,841 INFO L273 TraceCheckUtils]: 56: Hoare triple {6441#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {6441#false} is VALID [2018-11-23 13:01:37,841 INFO L273 TraceCheckUtils]: 57: Hoare triple {6441#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {6441#false} is VALID [2018-11-23 13:01:37,841 INFO L273 TraceCheckUtils]: 58: Hoare triple {6441#false} assume !(~i~0 > ~max~0); {6441#false} is VALID [2018-11-23 13:01:37,842 INFO L273 TraceCheckUtils]: 59: Hoare triple {6441#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {6441#false} is VALID [2018-11-23 13:01:37,842 INFO L256 TraceCheckUtils]: 60: Hoare triple {6441#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {6440#true} is VALID [2018-11-23 13:01:37,842 INFO L273 TraceCheckUtils]: 61: Hoare triple {6440#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {6440#true} is VALID [2018-11-23 13:01:37,842 INFO L273 TraceCheckUtils]: 62: Hoare triple {6440#true} assume !(~head.base != 0 || ~head.offset != 0); {6440#true} is VALID [2018-11-23 13:01:37,843 INFO L273 TraceCheckUtils]: 63: Hoare triple {6440#true} #res := ~len~0; {6440#true} is VALID [2018-11-23 13:01:37,843 INFO L273 TraceCheckUtils]: 64: Hoare triple {6440#true} assume true; {6440#true} is VALID [2018-11-23 13:01:37,843 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {6440#true} {6441#false} #201#return; {6441#false} is VALID [2018-11-23 13:01:37,843 INFO L273 TraceCheckUtils]: 66: Hoare triple {6441#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {6441#false} is VALID [2018-11-23 13:01:37,843 INFO L273 TraceCheckUtils]: 67: Hoare triple {6441#false} assume !(~i~0 == ~count~0); {6441#false} is VALID [2018-11-23 13:01:37,844 INFO L273 TraceCheckUtils]: 68: Hoare triple {6441#false} assume !(3 == ~i~0 && 5 == ~count~0); {6441#false} is VALID [2018-11-23 13:01:37,844 INFO L273 TraceCheckUtils]: 69: Hoare triple {6441#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {6441#false} is VALID [2018-11-23 13:01:37,844 INFO L273 TraceCheckUtils]: 70: Hoare triple {6441#false} assume !false; {6441#false} is VALID [2018-11-23 13:01:37,847 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:01:37,847 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:37,848 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:37,856 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:37,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:37,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:37,929 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:38,190 INFO L256 TraceCheckUtils]: 0: Hoare triple {6440#true} call ULTIMATE.init(); {6440#true} is VALID [2018-11-23 13:01:38,191 INFO L273 TraceCheckUtils]: 1: Hoare triple {6440#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6440#true} is VALID [2018-11-23 13:01:38,191 INFO L273 TraceCheckUtils]: 2: Hoare triple {6440#true} assume true; {6440#true} is VALID [2018-11-23 13:01:38,191 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6440#true} {6440#true} #209#return; {6440#true} is VALID [2018-11-23 13:01:38,191 INFO L256 TraceCheckUtils]: 4: Hoare triple {6440#true} call #t~ret26 := main(); {6440#true} is VALID [2018-11-23 13:01:38,192 INFO L273 TraceCheckUtils]: 5: Hoare triple {6440#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {6473#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:38,192 INFO L273 TraceCheckUtils]: 6: Hoare triple {6473#(<= 3 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {6473#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:38,192 INFO L273 TraceCheckUtils]: 7: Hoare triple {6473#(<= 3 main_~i~0)} #t~short18 := ~j~0 < 10; {6473#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:38,193 INFO L273 TraceCheckUtils]: 8: Hoare triple {6473#(<= 3 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6473#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:38,193 INFO L273 TraceCheckUtils]: 9: Hoare triple {6473#(<= 3 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {6473#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:38,193 INFO L273 TraceCheckUtils]: 10: Hoare triple {6473#(<= 3 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {6489#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:38,194 INFO L273 TraceCheckUtils]: 11: Hoare triple {6489#(<= 4 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {6489#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:38,194 INFO L273 TraceCheckUtils]: 12: Hoare triple {6489#(<= 4 main_~i~0)} #t~short18 := ~j~0 < 10; {6489#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:38,194 INFO L273 TraceCheckUtils]: 13: Hoare triple {6489#(<= 4 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6489#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:38,195 INFO L273 TraceCheckUtils]: 14: Hoare triple {6489#(<= 4 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {6489#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:38,195 INFO L273 TraceCheckUtils]: 15: Hoare triple {6489#(<= 4 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {6505#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:38,196 INFO L273 TraceCheckUtils]: 16: Hoare triple {6505#(<= 5 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {6505#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:38,218 INFO L273 TraceCheckUtils]: 17: Hoare triple {6505#(<= 5 main_~i~0)} #t~short18 := ~j~0 < 10; {6505#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:38,232 INFO L273 TraceCheckUtils]: 18: Hoare triple {6505#(<= 5 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6505#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:38,237 INFO L273 TraceCheckUtils]: 19: Hoare triple {6505#(<= 5 main_~i~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {6505#(<= 5 main_~i~0)} is VALID [2018-11-23 13:01:38,237 INFO L256 TraceCheckUtils]: 20: Hoare triple {6505#(<= 5 main_~i~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {6440#true} is VALID [2018-11-23 13:01:38,254 INFO L273 TraceCheckUtils]: 21: Hoare triple {6440#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {6443#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:38,254 INFO L256 TraceCheckUtils]: 22: Hoare triple {6443#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {6440#true} is VALID [2018-11-23 13:01:38,269 INFO L273 TraceCheckUtils]: 23: Hoare triple {6440#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:38,277 INFO L273 TraceCheckUtils]: 24: Hoare triple {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:38,278 INFO L256 TraceCheckUtils]: 25: Hoare triple {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {6440#true} is VALID [2018-11-23 13:01:38,291 INFO L273 TraceCheckUtils]: 26: Hoare triple {6440#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {6445#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:38,299 INFO L273 TraceCheckUtils]: 27: Hoare triple {6445#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6445#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:38,309 INFO L273 TraceCheckUtils]: 28: Hoare triple {6445#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6445#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:38,311 INFO L273 TraceCheckUtils]: 29: Hoare triple {6445#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:38,311 INFO L273 TraceCheckUtils]: 30: Hoare triple {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:38,313 INFO L273 TraceCheckUtils]: 31: Hoare triple {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:38,313 INFO L273 TraceCheckUtils]: 32: Hoare triple {6446#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:38,315 INFO L273 TraceCheckUtils]: 33: Hoare triple {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:38,315 INFO L273 TraceCheckUtils]: 34: Hoare triple {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:38,316 INFO L273 TraceCheckUtils]: 35: Hoare triple {6447#(<= |sll_create_#in~len| (+ sll_create_~len 2))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:38,316 INFO L273 TraceCheckUtils]: 36: Hoare triple {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:38,317 INFO L273 TraceCheckUtils]: 37: Hoare triple {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:38,318 INFO L273 TraceCheckUtils]: 38: Hoare triple {6448#(<= |sll_create_#in~len| (+ sll_create_~len 3))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {6449#(<= |sll_create_#in~len| (+ sll_create_~len 4))} is VALID [2018-11-23 13:01:38,319 INFO L273 TraceCheckUtils]: 39: Hoare triple {6449#(<= |sll_create_#in~len| (+ sll_create_~len 4))} assume !(~len > 0); {6450#(<= |sll_create_#in~len| 4)} is VALID [2018-11-23 13:01:38,319 INFO L273 TraceCheckUtils]: 40: Hoare triple {6450#(<= |sll_create_#in~len| 4)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6450#(<= |sll_create_#in~len| 4)} is VALID [2018-11-23 13:01:38,320 INFO L273 TraceCheckUtils]: 41: Hoare triple {6450#(<= |sll_create_#in~len| 4)} assume true; {6450#(<= |sll_create_#in~len| 4)} is VALID [2018-11-23 13:01:38,321 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6450#(<= |sll_create_#in~len| 4)} {6444#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,322 INFO L273 TraceCheckUtils]: 43: Hoare triple {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,322 INFO L273 TraceCheckUtils]: 44: Hoare triple {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} assume true; {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,323 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {6451#(<= |node_create_with_sublist_#in~sublist_length| 4)} {6443#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,324 INFO L273 TraceCheckUtils]: 46: Hoare triple {6452#(<= |sll_append_#in~sublist_length| 4)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,324 INFO L273 TraceCheckUtils]: 47: Hoare triple {6452#(<= |sll_append_#in~sublist_length| 4)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,325 INFO L273 TraceCheckUtils]: 48: Hoare triple {6452#(<= |sll_append_#in~sublist_length| 4)} assume true; {6452#(<= |sll_append_#in~sublist_length| 4)} is VALID [2018-11-23 13:01:38,326 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {6452#(<= |sll_append_#in~sublist_length| 4)} {6505#(<= 5 main_~i~0)} #199#return; {6441#false} is VALID [2018-11-23 13:01:38,327 INFO L273 TraceCheckUtils]: 50: Hoare triple {6441#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {6441#false} is VALID [2018-11-23 13:01:38,327 INFO L273 TraceCheckUtils]: 51: Hoare triple {6441#false} #t~short18 := ~j~0 < 10; {6441#false} is VALID [2018-11-23 13:01:38,327 INFO L273 TraceCheckUtils]: 52: Hoare triple {6441#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {6441#false} is VALID [2018-11-23 13:01:38,327 INFO L273 TraceCheckUtils]: 53: Hoare triple {6441#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {6441#false} is VALID [2018-11-23 13:01:38,328 INFO L273 TraceCheckUtils]: 54: Hoare triple {6441#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {6441#false} is VALID [2018-11-23 13:01:38,328 INFO L273 TraceCheckUtils]: 55: Hoare triple {6441#false} assume !(~i~0 <= ~max~0); {6441#false} is VALID [2018-11-23 13:01:38,328 INFO L273 TraceCheckUtils]: 56: Hoare triple {6441#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {6441#false} is VALID [2018-11-23 13:01:38,329 INFO L273 TraceCheckUtils]: 57: Hoare triple {6441#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {6441#false} is VALID [2018-11-23 13:01:38,329 INFO L273 TraceCheckUtils]: 58: Hoare triple {6441#false} assume !(~i~0 > ~max~0); {6441#false} is VALID [2018-11-23 13:01:38,329 INFO L273 TraceCheckUtils]: 59: Hoare triple {6441#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {6441#false} is VALID [2018-11-23 13:01:38,329 INFO L256 TraceCheckUtils]: 60: Hoare triple {6441#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {6441#false} is VALID [2018-11-23 13:01:38,330 INFO L273 TraceCheckUtils]: 61: Hoare triple {6441#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {6441#false} is VALID [2018-11-23 13:01:38,330 INFO L273 TraceCheckUtils]: 62: Hoare triple {6441#false} assume !(~head.base != 0 || ~head.offset != 0); {6441#false} is VALID [2018-11-23 13:01:38,330 INFO L273 TraceCheckUtils]: 63: Hoare triple {6441#false} #res := ~len~0; {6441#false} is VALID [2018-11-23 13:01:38,330 INFO L273 TraceCheckUtils]: 64: Hoare triple {6441#false} assume true; {6441#false} is VALID [2018-11-23 13:01:38,330 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {6441#false} {6441#false} #201#return; {6441#false} is VALID [2018-11-23 13:01:38,330 INFO L273 TraceCheckUtils]: 66: Hoare triple {6441#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {6441#false} is VALID [2018-11-23 13:01:38,331 INFO L273 TraceCheckUtils]: 67: Hoare triple {6441#false} assume !(~i~0 == ~count~0); {6441#false} is VALID [2018-11-23 13:01:38,331 INFO L273 TraceCheckUtils]: 68: Hoare triple {6441#false} assume !(3 == ~i~0 && 5 == ~count~0); {6441#false} is VALID [2018-11-23 13:01:38,331 INFO L273 TraceCheckUtils]: 69: Hoare triple {6441#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {6441#false} is VALID [2018-11-23 13:01:38,331 INFO L273 TraceCheckUtils]: 70: Hoare triple {6441#false} assume !false; {6441#false} is VALID [2018-11-23 13:01:38,335 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 27 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:38,358 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:38,358 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 18 [2018-11-23 13:01:38,359 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 71 [2018-11-23 13:01:38,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:38,359 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 13:01:38,456 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:38,456 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 13:01:38,457 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 13:01:38,457 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2018-11-23 13:01:38,457 INFO L87 Difference]: Start difference. First operand 130 states and 164 transitions. Second operand 18 states. [2018-11-23 13:01:41,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:41,207 INFO L93 Difference]: Finished difference Result 259 states and 327 transitions. [2018-11-23 13:01:41,207 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 13:01:41,208 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 71 [2018-11-23 13:01:41,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:41,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:01:41,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 200 transitions. [2018-11-23 13:01:41,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:01:41,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 200 transitions. [2018-11-23 13:01:41,214 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 200 transitions. [2018-11-23 13:01:42,500 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 200 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:42,504 INFO L225 Difference]: With dead ends: 259 [2018-11-23 13:01:42,504 INFO L226 Difference]: Without dead ends: 164 [2018-11-23 13:01:42,505 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 106 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=132, Invalid=738, Unknown=0, NotChecked=0, Total=870 [2018-11-23 13:01:42,505 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2018-11-23 13:01:42,650 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 133. [2018-11-23 13:01:42,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:42,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand 133 states. [2018-11-23 13:01:42,650 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 133 states. [2018-11-23 13:01:42,650 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 133 states. [2018-11-23 13:01:42,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:42,656 INFO L93 Difference]: Finished difference Result 164 states and 206 transitions. [2018-11-23 13:01:42,657 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 206 transitions. [2018-11-23 13:01:42,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:42,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:42,658 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 164 states. [2018-11-23 13:01:42,658 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 164 states. [2018-11-23 13:01:42,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:42,663 INFO L93 Difference]: Finished difference Result 164 states and 206 transitions. [2018-11-23 13:01:42,663 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 206 transitions. [2018-11-23 13:01:42,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:42,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:42,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:42,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:42,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-11-23 13:01:42,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 166 transitions. [2018-11-23 13:01:42,668 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 166 transitions. Word has length 71 [2018-11-23 13:01:42,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:42,669 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 166 transitions. [2018-11-23 13:01:42,669 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 13:01:42,669 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 166 transitions. [2018-11-23 13:01:42,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 13:01:42,670 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:42,670 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:42,670 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:42,671 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:42,671 INFO L82 PathProgramCache]: Analyzing trace with hash 1931430878, now seen corresponding path program 2 times [2018-11-23 13:01:42,671 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:42,671 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:42,672 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:42,672 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:42,672 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:42,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:43,190 INFO L256 TraceCheckUtils]: 0: Hoare triple {7550#true} call ULTIMATE.init(); {7550#true} is VALID [2018-11-23 13:01:43,191 INFO L273 TraceCheckUtils]: 1: Hoare triple {7550#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7550#true} is VALID [2018-11-23 13:01:43,191 INFO L273 TraceCheckUtils]: 2: Hoare triple {7550#true} assume true; {7550#true} is VALID [2018-11-23 13:01:43,191 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7550#true} {7550#true} #209#return; {7550#true} is VALID [2018-11-23 13:01:43,192 INFO L256 TraceCheckUtils]: 4: Hoare triple {7550#true} call #t~ret26 := main(); {7550#true} is VALID [2018-11-23 13:01:43,192 INFO L273 TraceCheckUtils]: 5: Hoare triple {7550#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {7552#(= main_~i~0 3)} is VALID [2018-11-23 13:01:43,193 INFO L273 TraceCheckUtils]: 6: Hoare triple {7552#(= main_~i~0 3)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {7552#(= main_~i~0 3)} is VALID [2018-11-23 13:01:43,193 INFO L273 TraceCheckUtils]: 7: Hoare triple {7552#(= main_~i~0 3)} #t~short18 := ~j~0 < 10; {7552#(= main_~i~0 3)} is VALID [2018-11-23 13:01:43,193 INFO L273 TraceCheckUtils]: 8: Hoare triple {7552#(= main_~i~0 3)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7552#(= main_~i~0 3)} is VALID [2018-11-23 13:01:43,194 INFO L273 TraceCheckUtils]: 9: Hoare triple {7552#(= main_~i~0 3)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {7552#(= main_~i~0 3)} is VALID [2018-11-23 13:01:43,194 INFO L273 TraceCheckUtils]: 10: Hoare triple {7552#(= main_~i~0 3)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,194 INFO L273 TraceCheckUtils]: 11: Hoare triple {7553#(<= 4 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,195 INFO L273 TraceCheckUtils]: 12: Hoare triple {7553#(<= 4 main_~i~0)} #t~short18 := ~j~0 < 10; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,195 INFO L273 TraceCheckUtils]: 13: Hoare triple {7553#(<= 4 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,195 INFO L273 TraceCheckUtils]: 14: Hoare triple {7553#(<= 4 main_~i~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,196 INFO L256 TraceCheckUtils]: 15: Hoare triple {7553#(<= 4 main_~i~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {7550#true} is VALID [2018-11-23 13:01:43,196 INFO L273 TraceCheckUtils]: 16: Hoare triple {7550#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {7554#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:43,196 INFO L256 TraceCheckUtils]: 17: Hoare triple {7554#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {7550#true} is VALID [2018-11-23 13:01:43,197 INFO L273 TraceCheckUtils]: 18: Hoare triple {7550#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:43,198 INFO L273 TraceCheckUtils]: 19: Hoare triple {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:43,198 INFO L256 TraceCheckUtils]: 20: Hoare triple {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {7550#true} is VALID [2018-11-23 13:01:43,199 INFO L273 TraceCheckUtils]: 21: Hoare triple {7550#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {7556#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:43,199 INFO L273 TraceCheckUtils]: 22: Hoare triple {7556#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7556#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:43,200 INFO L273 TraceCheckUtils]: 23: Hoare triple {7556#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7556#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:43,201 INFO L273 TraceCheckUtils]: 24: Hoare triple {7556#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:43,201 INFO L273 TraceCheckUtils]: 25: Hoare triple {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:43,202 INFO L273 TraceCheckUtils]: 26: Hoare triple {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:43,203 INFO L273 TraceCheckUtils]: 27: Hoare triple {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:43,203 INFO L273 TraceCheckUtils]: 28: Hoare triple {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:43,204 INFO L273 TraceCheckUtils]: 29: Hoare triple {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:43,205 INFO L273 TraceCheckUtils]: 30: Hoare triple {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {7559#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:43,206 INFO L273 TraceCheckUtils]: 31: Hoare triple {7559#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !(~len > 0); {7560#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:43,206 INFO L273 TraceCheckUtils]: 32: Hoare triple {7560#(<= |sll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7560#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:43,207 INFO L273 TraceCheckUtils]: 33: Hoare triple {7560#(<= |sll_create_#in~len| 3)} assume true; {7560#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:43,208 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {7560#(<= |sll_create_#in~len| 3)} {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,209 INFO L273 TraceCheckUtils]: 35: Hoare triple {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,209 INFO L273 TraceCheckUtils]: 36: Hoare triple {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} assume true; {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,210 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} {7554#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,211 INFO L273 TraceCheckUtils]: 38: Hoare triple {7562#(<= |sll_append_#in~sublist_length| 3)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,214 INFO L273 TraceCheckUtils]: 39: Hoare triple {7562#(<= |sll_append_#in~sublist_length| 3)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,214 INFO L273 TraceCheckUtils]: 40: Hoare triple {7562#(<= |sll_append_#in~sublist_length| 3)} assume true; {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,215 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {7562#(<= |sll_append_#in~sublist_length| 3)} {7553#(<= 4 main_~i~0)} #199#return; {7551#false} is VALID [2018-11-23 13:01:43,215 INFO L273 TraceCheckUtils]: 42: Hoare triple {7551#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {7551#false} is VALID [2018-11-23 13:01:43,215 INFO L273 TraceCheckUtils]: 43: Hoare triple {7551#false} #t~short18 := ~j~0 < 10; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 44: Hoare triple {7551#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 45: Hoare triple {7551#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 46: Hoare triple {7551#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 47: Hoare triple {7551#false} assume !!(~i~0 <= ~max~0);~j~0 := 0; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 48: Hoare triple {7551#false} #t~short18 := ~j~0 < 10; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 49: Hoare triple {7551#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 50: Hoare triple {7551#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,216 INFO L273 TraceCheckUtils]: 51: Hoare triple {7551#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {7551#false} is VALID [2018-11-23 13:01:43,217 INFO L273 TraceCheckUtils]: 52: Hoare triple {7551#false} assume !(~i~0 <= ~max~0); {7551#false} is VALID [2018-11-23 13:01:43,217 INFO L273 TraceCheckUtils]: 53: Hoare triple {7551#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {7551#false} is VALID [2018-11-23 13:01:43,217 INFO L273 TraceCheckUtils]: 54: Hoare triple {7551#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {7551#false} is VALID [2018-11-23 13:01:43,217 INFO L273 TraceCheckUtils]: 55: Hoare triple {7551#false} assume !(~i~0 > ~max~0); {7551#false} is VALID [2018-11-23 13:01:43,217 INFO L273 TraceCheckUtils]: 56: Hoare triple {7551#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {7551#false} is VALID [2018-11-23 13:01:43,217 INFO L256 TraceCheckUtils]: 57: Hoare triple {7551#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {7550#true} is VALID [2018-11-23 13:01:43,218 INFO L273 TraceCheckUtils]: 58: Hoare triple {7550#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {7550#true} is VALID [2018-11-23 13:01:43,218 INFO L273 TraceCheckUtils]: 59: Hoare triple {7550#true} assume !(~head.base != 0 || ~head.offset != 0); {7550#true} is VALID [2018-11-23 13:01:43,218 INFO L273 TraceCheckUtils]: 60: Hoare triple {7550#true} #res := ~len~0; {7550#true} is VALID [2018-11-23 13:01:43,218 INFO L273 TraceCheckUtils]: 61: Hoare triple {7550#true} assume true; {7550#true} is VALID [2018-11-23 13:01:43,218 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {7550#true} {7551#false} #201#return; {7551#false} is VALID [2018-11-23 13:01:43,218 INFO L273 TraceCheckUtils]: 63: Hoare triple {7551#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {7551#false} is VALID [2018-11-23 13:01:43,219 INFO L273 TraceCheckUtils]: 64: Hoare triple {7551#false} assume !(~i~0 == ~count~0); {7551#false} is VALID [2018-11-23 13:01:43,219 INFO L273 TraceCheckUtils]: 65: Hoare triple {7551#false} assume !(3 == ~i~0 && 5 == ~count~0); {7551#false} is VALID [2018-11-23 13:01:43,219 INFO L273 TraceCheckUtils]: 66: Hoare triple {7551#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {7551#false} is VALID [2018-11-23 13:01:43,219 INFO L273 TraceCheckUtils]: 67: Hoare triple {7551#false} assume !false; {7551#false} is VALID [2018-11-23 13:01:43,222 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 18 proven. 16 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:01:43,222 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:43,222 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:43,231 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:01:43,283 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:01:43,283 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:43,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:43,304 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:43,438 INFO L256 TraceCheckUtils]: 0: Hoare triple {7550#true} call ULTIMATE.init(); {7550#true} is VALID [2018-11-23 13:01:43,438 INFO L273 TraceCheckUtils]: 1: Hoare triple {7550#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7550#true} is VALID [2018-11-23 13:01:43,438 INFO L273 TraceCheckUtils]: 2: Hoare triple {7550#true} assume true; {7550#true} is VALID [2018-11-23 13:01:43,439 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7550#true} {7550#true} #209#return; {7550#true} is VALID [2018-11-23 13:01:43,439 INFO L256 TraceCheckUtils]: 4: Hoare triple {7550#true} call #t~ret26 := main(); {7550#true} is VALID [2018-11-23 13:01:43,440 INFO L273 TraceCheckUtils]: 5: Hoare triple {7550#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {7581#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:43,440 INFO L273 TraceCheckUtils]: 6: Hoare triple {7581#(<= 3 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {7581#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:43,441 INFO L273 TraceCheckUtils]: 7: Hoare triple {7581#(<= 3 main_~i~0)} #t~short18 := ~j~0 < 10; {7581#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:43,441 INFO L273 TraceCheckUtils]: 8: Hoare triple {7581#(<= 3 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7581#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:43,442 INFO L273 TraceCheckUtils]: 9: Hoare triple {7581#(<= 3 main_~i~0)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {7581#(<= 3 main_~i~0)} is VALID [2018-11-23 13:01:43,442 INFO L273 TraceCheckUtils]: 10: Hoare triple {7581#(<= 3 main_~i~0)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,442 INFO L273 TraceCheckUtils]: 11: Hoare triple {7553#(<= 4 main_~i~0)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,443 INFO L273 TraceCheckUtils]: 12: Hoare triple {7553#(<= 4 main_~i~0)} #t~short18 := ~j~0 < 10; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,443 INFO L273 TraceCheckUtils]: 13: Hoare triple {7553#(<= 4 main_~i~0)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,443 INFO L273 TraceCheckUtils]: 14: Hoare triple {7553#(<= 4 main_~i~0)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {7553#(<= 4 main_~i~0)} is VALID [2018-11-23 13:01:43,444 INFO L256 TraceCheckUtils]: 15: Hoare triple {7553#(<= 4 main_~i~0)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {7550#true} is VALID [2018-11-23 13:01:43,444 INFO L273 TraceCheckUtils]: 16: Hoare triple {7550#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {7554#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 13:01:43,445 INFO L256 TraceCheckUtils]: 17: Hoare triple {7554#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {7550#true} is VALID [2018-11-23 13:01:43,445 INFO L273 TraceCheckUtils]: 18: Hoare triple {7550#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:43,446 INFO L273 TraceCheckUtils]: 19: Hoare triple {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 13:01:43,446 INFO L256 TraceCheckUtils]: 20: Hoare triple {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {7550#true} is VALID [2018-11-23 13:01:43,447 INFO L273 TraceCheckUtils]: 21: Hoare triple {7550#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {7556#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:43,447 INFO L273 TraceCheckUtils]: 22: Hoare triple {7556#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7556#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:43,448 INFO L273 TraceCheckUtils]: 23: Hoare triple {7556#(<= |sll_create_#in~len| sll_create_~len)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7556#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 13:01:43,449 INFO L273 TraceCheckUtils]: 24: Hoare triple {7556#(<= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:43,449 INFO L273 TraceCheckUtils]: 25: Hoare triple {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:43,450 INFO L273 TraceCheckUtils]: 26: Hoare triple {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-23 13:01:43,451 INFO L273 TraceCheckUtils]: 27: Hoare triple {7557#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:43,451 INFO L273 TraceCheckUtils]: 28: Hoare triple {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:43,452 INFO L273 TraceCheckUtils]: 29: Hoare triple {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} is VALID [2018-11-23 13:01:43,453 INFO L273 TraceCheckUtils]: 30: Hoare triple {7558#(<= |sll_create_#in~len| (+ sll_create_~len 2))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {7559#(<= |sll_create_#in~len| (+ sll_create_~len 3))} is VALID [2018-11-23 13:01:43,454 INFO L273 TraceCheckUtils]: 31: Hoare triple {7559#(<= |sll_create_#in~len| (+ sll_create_~len 3))} assume !(~len > 0); {7560#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:43,454 INFO L273 TraceCheckUtils]: 32: Hoare triple {7560#(<= |sll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7560#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:43,455 INFO L273 TraceCheckUtils]: 33: Hoare triple {7560#(<= |sll_create_#in~len| 3)} assume true; {7560#(<= |sll_create_#in~len| 3)} is VALID [2018-11-23 13:01:43,456 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {7560#(<= |sll_create_#in~len| 3)} {7555#(<= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #215#return; {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,457 INFO L273 TraceCheckUtils]: 35: Hoare triple {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,457 INFO L273 TraceCheckUtils]: 36: Hoare triple {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} assume true; {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,458 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7561#(<= |node_create_with_sublist_#in~sublist_length| 3)} {7554#(<= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #205#return; {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,459 INFO L273 TraceCheckUtils]: 38: Hoare triple {7562#(<= |sll_append_#in~sublist_length| 3)} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,459 INFO L273 TraceCheckUtils]: 39: Hoare triple {7562#(<= |sll_append_#in~sublist_length| 3)} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,460 INFO L273 TraceCheckUtils]: 40: Hoare triple {7562#(<= |sll_append_#in~sublist_length| 3)} assume true; {7562#(<= |sll_append_#in~sublist_length| 3)} is VALID [2018-11-23 13:01:43,461 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {7562#(<= |sll_append_#in~sublist_length| 3)} {7553#(<= 4 main_~i~0)} #199#return; {7551#false} is VALID [2018-11-23 13:01:43,461 INFO L273 TraceCheckUtils]: 42: Hoare triple {7551#false} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {7551#false} is VALID [2018-11-23 13:01:43,462 INFO L273 TraceCheckUtils]: 43: Hoare triple {7551#false} #t~short18 := ~j~0 < 10; {7551#false} is VALID [2018-11-23 13:01:43,462 INFO L273 TraceCheckUtils]: 44: Hoare triple {7551#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,462 INFO L273 TraceCheckUtils]: 45: Hoare triple {7551#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,462 INFO L273 TraceCheckUtils]: 46: Hoare triple {7551#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {7551#false} is VALID [2018-11-23 13:01:43,462 INFO L273 TraceCheckUtils]: 47: Hoare triple {7551#false} assume !!(~i~0 <= ~max~0);~j~0 := 0; {7551#false} is VALID [2018-11-23 13:01:43,463 INFO L273 TraceCheckUtils]: 48: Hoare triple {7551#false} #t~short18 := ~j~0 < 10; {7551#false} is VALID [2018-11-23 13:01:43,463 INFO L273 TraceCheckUtils]: 49: Hoare triple {7551#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,463 INFO L273 TraceCheckUtils]: 50: Hoare triple {7551#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {7551#false} is VALID [2018-11-23 13:01:43,463 INFO L273 TraceCheckUtils]: 51: Hoare triple {7551#false} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {7551#false} is VALID [2018-11-23 13:01:43,463 INFO L273 TraceCheckUtils]: 52: Hoare triple {7551#false} assume !(~i~0 <= ~max~0); {7551#false} is VALID [2018-11-23 13:01:43,464 INFO L273 TraceCheckUtils]: 53: Hoare triple {7551#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {7551#false} is VALID [2018-11-23 13:01:43,464 INFO L273 TraceCheckUtils]: 54: Hoare triple {7551#false} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {7551#false} is VALID [2018-11-23 13:01:43,464 INFO L273 TraceCheckUtils]: 55: Hoare triple {7551#false} assume !(~i~0 > ~max~0); {7551#false} is VALID [2018-11-23 13:01:43,464 INFO L273 TraceCheckUtils]: 56: Hoare triple {7551#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {7551#false} is VALID [2018-11-23 13:01:43,464 INFO L256 TraceCheckUtils]: 57: Hoare triple {7551#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {7551#false} is VALID [2018-11-23 13:01:43,464 INFO L273 TraceCheckUtils]: 58: Hoare triple {7551#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 59: Hoare triple {7551#false} assume !(~head.base != 0 || ~head.offset != 0); {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 60: Hoare triple {7551#false} #res := ~len~0; {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 61: Hoare triple {7551#false} assume true; {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {7551#false} {7551#false} #201#return; {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 63: Hoare triple {7551#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 64: Hoare triple {7551#false} assume !(~i~0 == ~count~0); {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 65: Hoare triple {7551#false} assume !(3 == ~i~0 && 5 == ~count~0); {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 66: Hoare triple {7551#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {7551#false} is VALID [2018-11-23 13:01:43,465 INFO L273 TraceCheckUtils]: 67: Hoare triple {7551#false} assume !false; {7551#false} is VALID [2018-11-23 13:01:43,469 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 22 proven. 12 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:01:43,490 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:43,490 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 13:01:43,491 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 68 [2018-11-23 13:01:43,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:43,491 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 13:01:43,562 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:43,563 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 13:01:43,563 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 13:01:43,563 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:01:43,564 INFO L87 Difference]: Start difference. First operand 133 states and 166 transitions. Second operand 14 states. [2018-11-23 13:01:45,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:45,991 INFO L93 Difference]: Finished difference Result 255 states and 315 transitions. [2018-11-23 13:01:45,991 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 13:01:45,991 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 68 [2018-11-23 13:01:45,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:45,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:01:45,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 171 transitions. [2018-11-23 13:01:45,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:01:45,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 171 transitions. [2018-11-23 13:01:45,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 171 transitions. [2018-11-23 13:01:46,757 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:46,761 INFO L225 Difference]: With dead ends: 255 [2018-11-23 13:01:46,762 INFO L226 Difference]: Without dead ends: 157 [2018-11-23 13:01:46,762 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:01:46,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2018-11-23 13:01:46,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 148. [2018-11-23 13:01:46,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:46,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand 148 states. [2018-11-23 13:01:46,953 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand 148 states. [2018-11-23 13:01:46,953 INFO L87 Difference]: Start difference. First operand 157 states. Second operand 148 states. [2018-11-23 13:01:46,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:46,958 INFO L93 Difference]: Finished difference Result 157 states and 193 transitions. [2018-11-23 13:01:46,958 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 193 transitions. [2018-11-23 13:01:46,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:46,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:46,959 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 157 states. [2018-11-23 13:01:46,959 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 157 states. [2018-11-23 13:01:46,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:46,964 INFO L93 Difference]: Finished difference Result 157 states and 193 transitions. [2018-11-23 13:01:46,964 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 193 transitions. [2018-11-23 13:01:46,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:46,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:46,965 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:46,965 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:46,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 148 states. [2018-11-23 13:01:46,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 182 transitions. [2018-11-23 13:01:46,969 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 182 transitions. Word has length 68 [2018-11-23 13:01:46,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:46,969 INFO L480 AbstractCegarLoop]: Abstraction has 148 states and 182 transitions. [2018-11-23 13:01:46,969 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 13:01:46,970 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 182 transitions. [2018-11-23 13:01:46,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 13:01:46,971 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:46,971 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:46,971 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:46,971 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:46,972 INFO L82 PathProgramCache]: Analyzing trace with hash 875050678, now seen corresponding path program 3 times [2018-11-23 13:01:46,972 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:46,972 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:46,973 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:46,973 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:01:46,973 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:47,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:48,328 INFO L256 TraceCheckUtils]: 0: Hoare triple {8628#true} call ULTIMATE.init(); {8628#true} is VALID [2018-11-23 13:01:48,328 INFO L273 TraceCheckUtils]: 1: Hoare triple {8628#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8628#true} is VALID [2018-11-23 13:01:48,328 INFO L273 TraceCheckUtils]: 2: Hoare triple {8628#true} assume true; {8628#true} is VALID [2018-11-23 13:01:48,329 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8628#true} {8628#true} #209#return; {8628#true} is VALID [2018-11-23 13:01:48,329 INFO L256 TraceCheckUtils]: 4: Hoare triple {8628#true} call #t~ret26 := main(); {8628#true} is VALID [2018-11-23 13:01:48,330 INFO L273 TraceCheckUtils]: 5: Hoare triple {8628#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,331 INFO L273 TraceCheckUtils]: 6: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,331 INFO L273 TraceCheckUtils]: 7: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} #t~short18 := ~j~0 < 10; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,331 INFO L273 TraceCheckUtils]: 8: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,332 INFO L273 TraceCheckUtils]: 9: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,332 INFO L273 TraceCheckUtils]: 10: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,332 INFO L273 TraceCheckUtils]: 11: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,333 INFO L273 TraceCheckUtils]: 12: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} #t~short18 := ~j~0 < 10; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,333 INFO L273 TraceCheckUtils]: 13: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,334 INFO L273 TraceCheckUtils]: 14: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,334 INFO L273 TraceCheckUtils]: 15: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,335 INFO L273 TraceCheckUtils]: 16: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume !!(~i~0 <= ~max~0);~j~0 := 0; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,335 INFO L273 TraceCheckUtils]: 17: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} #t~short18 := ~j~0 < 10; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,336 INFO L273 TraceCheckUtils]: 18: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,336 INFO L273 TraceCheckUtils]: 19: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {8630#(= (select |#valid| |main_~#head~1.base|) 1)} is VALID [2018-11-23 13:01:48,338 INFO L256 TraceCheckUtils]: 20: Hoare triple {8630#(= (select |#valid| |main_~#head~1.base|) 1)} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {8631#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:01:48,338 INFO L273 TraceCheckUtils]: 21: Hoare triple {8631#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {8632#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:01:48,340 INFO L256 TraceCheckUtils]: 22: Hoare triple {8632#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {8631#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:01:48,341 INFO L273 TraceCheckUtils]: 23: Hoare triple {8631#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} is VALID [2018-11-23 13:01:48,342 INFO L273 TraceCheckUtils]: 24: Hoare triple {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} is VALID [2018-11-23 13:01:48,342 INFO L256 TraceCheckUtils]: 25: Hoare triple {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {8628#true} is VALID [2018-11-23 13:01:48,342 INFO L273 TraceCheckUtils]: 26: Hoare triple {8628#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {8628#true} is VALID [2018-11-23 13:01:48,343 INFO L273 TraceCheckUtils]: 27: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:48,343 INFO L273 TraceCheckUtils]: 28: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:48,343 INFO L273 TraceCheckUtils]: 29: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:48,343 INFO L273 TraceCheckUtils]: 30: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:48,343 INFO L273 TraceCheckUtils]: 31: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:48,344 INFO L273 TraceCheckUtils]: 32: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:48,344 INFO L273 TraceCheckUtils]: 33: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:48,344 INFO L273 TraceCheckUtils]: 34: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:48,344 INFO L273 TraceCheckUtils]: 35: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:48,344 INFO L273 TraceCheckUtils]: 36: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:48,344 INFO L273 TraceCheckUtils]: 37: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:48,345 INFO L273 TraceCheckUtils]: 38: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:48,345 INFO L273 TraceCheckUtils]: 39: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8634#(not (= 0 sll_create_~new_head~0.base))} is VALID [2018-11-23 13:01:48,345 INFO L273 TraceCheckUtils]: 40: Hoare triple {8634#(not (= 0 sll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8634#(not (= 0 sll_create_~new_head~0.base))} is VALID [2018-11-23 13:01:48,346 INFO L273 TraceCheckUtils]: 41: Hoare triple {8634#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8635#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-23 13:01:48,346 INFO L273 TraceCheckUtils]: 42: Hoare triple {8635#(not (= 0 sll_create_~head~0.base))} assume !(~len > 0); {8635#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-23 13:01:48,347 INFO L273 TraceCheckUtils]: 43: Hoare triple {8635#(not (= 0 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8636#(not (= 0 |sll_create_#res.base|))} is VALID [2018-11-23 13:01:48,347 INFO L273 TraceCheckUtils]: 44: Hoare triple {8636#(not (= 0 |sll_create_#res.base|))} assume true; {8636#(not (= 0 |sll_create_#res.base|))} is VALID [2018-11-23 13:01:48,348 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {8636#(not (= 0 |sll_create_#res.base|))} {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} #215#return; {8637#(and (= 0 node_create_with_sublist_~new_node~0.offset) (not (= 0 |node_create_with_sublist_#t~ret5.base|)) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} is VALID [2018-11-23 13:01:48,349 INFO L273 TraceCheckUtils]: 46: Hoare triple {8637#(and (= 0 node_create_with_sublist_~new_node~0.offset) (not (= 0 |node_create_with_sublist_#t~ret5.base|)) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {8638#(and (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} is VALID [2018-11-23 13:01:48,349 INFO L273 TraceCheckUtils]: 47: Hoare triple {8638#(and (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} assume true; {8638#(and (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} is VALID [2018-11-23 13:01:48,351 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {8638#(and (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} {8632#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} #205#return; {8639#(and (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (= 0 |sll_append_#t~ret8.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:01:48,353 INFO L273 TraceCheckUtils]: 49: Hoare triple {8639#(and (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (= 0 |sll_append_#t~ret8.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {8640#(and (or (= sll_append_~new_last~0.base sll_append_~head.base) (not (= 0 (select (select (store |#memory_$Pointer$.base| sll_append_~head.base (store (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.base)) sll_append_~new_last~0.base) 4)))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= sll_append_~new_last~0.base sll_append_~head.base))) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 sll_append_~new_last~0.offset))} is VALID [2018-11-23 13:01:48,355 INFO L273 TraceCheckUtils]: 50: Hoare triple {8640#(and (or (= sll_append_~new_last~0.base sll_append_~head.base) (not (= 0 (select (select (store |#memory_$Pointer$.base| sll_append_~head.base (store (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.base)) sll_append_~new_last~0.base) 4)))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= sll_append_~new_last~0.base sll_append_~head.base))) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 sll_append_~new_last~0.offset))} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {8641#(and (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))))} is VALID [2018-11-23 13:01:48,356 INFO L273 TraceCheckUtils]: 51: Hoare triple {8641#(and (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))))} assume true; {8641#(and (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))))} is VALID [2018-11-23 13:01:48,357 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {8641#(and (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))))} {8630#(= (select |#valid| |main_~#head~1.base|) 1)} #199#return; {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,358 INFO L273 TraceCheckUtils]: 53: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,359 INFO L273 TraceCheckUtils]: 54: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~short18 := ~j~0 < 10; {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,360 INFO L273 TraceCheckUtils]: 55: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,361 INFO L273 TraceCheckUtils]: 56: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,362 INFO L273 TraceCheckUtils]: 57: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,362 INFO L273 TraceCheckUtils]: 58: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !(~i~0 <= ~max~0); {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:01:48,363 INFO L273 TraceCheckUtils]: 59: Hoare triple {8642#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {8643#(and (= 0 main_~ptr~0.offset) (not (= 0 (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4)))))} is VALID [2018-11-23 13:01:48,364 INFO L273 TraceCheckUtils]: 60: Hoare triple {8643#(and (= 0 main_~ptr~0.offset) (not (= 0 (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4)))))} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {8643#(and (= 0 main_~ptr~0.offset) (not (= 0 (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4)))))} is VALID [2018-11-23 13:01:48,365 INFO L273 TraceCheckUtils]: 61: Hoare triple {8643#(and (= 0 main_~ptr~0.offset) (not (= 0 (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4)))))} assume !(~i~0 > ~max~0); {8643#(and (= 0 main_~ptr~0.offset) (not (= 0 (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4)))))} is VALID [2018-11-23 13:01:48,366 INFO L273 TraceCheckUtils]: 62: Hoare triple {8643#(and (= 0 main_~ptr~0.offset) (not (= 0 (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4)))))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {8644#(not (= 0 |main_#t~mem21.base|))} is VALID [2018-11-23 13:01:48,366 INFO L256 TraceCheckUtils]: 63: Hoare triple {8644#(not (= 0 |main_#t~mem21.base|))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {8628#true} is VALID [2018-11-23 13:01:48,367 INFO L273 TraceCheckUtils]: 64: Hoare triple {8628#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {8645#(= |sll_length_#in~head.base| sll_length_~head.base)} is VALID [2018-11-23 13:01:48,367 INFO L273 TraceCheckUtils]: 65: Hoare triple {8645#(= |sll_length_#in~head.base| sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {8646#(= 0 |sll_length_#in~head.base|)} is VALID [2018-11-23 13:01:48,368 INFO L273 TraceCheckUtils]: 66: Hoare triple {8646#(= 0 |sll_length_#in~head.base|)} #res := ~len~0; {8646#(= 0 |sll_length_#in~head.base|)} is VALID [2018-11-23 13:01:48,368 INFO L273 TraceCheckUtils]: 67: Hoare triple {8646#(= 0 |sll_length_#in~head.base|)} assume true; {8646#(= 0 |sll_length_#in~head.base|)} is VALID [2018-11-23 13:01:48,370 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {8646#(= 0 |sll_length_#in~head.base|)} {8644#(not (= 0 |main_#t~mem21.base|))} #201#return; {8629#false} is VALID [2018-11-23 13:01:48,370 INFO L273 TraceCheckUtils]: 69: Hoare triple {8629#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {8629#false} is VALID [2018-11-23 13:01:48,370 INFO L273 TraceCheckUtils]: 70: Hoare triple {8629#false} assume !(~i~0 == ~count~0); {8629#false} is VALID [2018-11-23 13:01:48,370 INFO L273 TraceCheckUtils]: 71: Hoare triple {8629#false} assume !(3 == ~i~0 && 5 == ~count~0); {8629#false} is VALID [2018-11-23 13:01:48,370 INFO L273 TraceCheckUtils]: 72: Hoare triple {8629#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {8629#false} is VALID [2018-11-23 13:01:48,371 INFO L273 TraceCheckUtils]: 73: Hoare triple {8629#false} assume !false; {8629#false} is VALID [2018-11-23 13:01:48,380 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 13 proven. 14 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2018-11-23 13:01:48,381 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:48,381 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:01:48,389 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:01:48,433 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 13:01:48,433 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:48,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:48,486 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:48,551 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 13:01:48,554 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,561 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,561 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 13:01:48,565 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:48,565 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_29|]. (and (= |#valid| (store |v_#valid_29| |main_~#head~1.base| 1)) (= |main_~#head~1.offset| 0)) [2018-11-23 13:01:48,565 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0)) [2018-11-23 13:01:48,819 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 41 treesize of output 38 [2018-11-23 13:01:48,823 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 11 treesize of output 14 [2018-11-23 13:01:48,846 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 15 [2018-11-23 13:01:48,851 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,856 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,871 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,919 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 41 treesize of output 38 [2018-11-23 13:01:48,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2018-11-23 13:01:48,929 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:48,930 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 23 [2018-11-23 13:01:48,933 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,939 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,956 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:48,994 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 41 treesize of output 38 [2018-11-23 13:01:49,000 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2018-11-23 13:01:49,010 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:49,011 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 23 [2018-11-23 13:01:49,014 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,022 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,038 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,084 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 41 treesize of output 38 [2018-11-23 13:01:49,089 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 11 treesize of output 14 [2018-11-23 13:01:49,097 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 15 [2018-11-23 13:01:49,099 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,103 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,119 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,159 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 13:01:49,160 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 8 variables, input treesize:83, output treesize:63 [2018-11-23 13:01:49,183 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:49,183 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_4, v_prenex_1, v_prenex_3, v_prenex_2, |v_#memory_$Pointer$.offset_30|, |v_node_create_with_sublist_#t~ret5.offset_5|, |v_#memory_$Pointer$.base_30|, |v_node_create_with_sublist_#t~ret5.base_5|]. (let ((.cse0 (= |node_create_with_sublist_#res.offset| 0)) (.cse1 (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))) (or (and .cse0 (not (= 0 v_prenex_1)) (= (store v_prenex_4 |node_create_with_sublist_#res.base| (store (store (select v_prenex_4 |node_create_with_sublist_#res.base|) 4 v_prenex_1) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store v_prenex_3 |node_create_with_sublist_#res.base| (store (store (select v_prenex_3 |node_create_with_sublist_#res.base|) 4 v_prenex_2) 0 0))) .cse1) (and (= (store |v_#memory_$Pointer$.offset_30| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.offset_30| |node_create_with_sublist_#res.base|) 4 |v_node_create_with_sublist_#t~ret5.offset_5|) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_30| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.base_30| |node_create_with_sublist_#res.base|) 4 |v_node_create_with_sublist_#t~ret5.base_5|) 0 0))) .cse0 (not (= 0 |v_node_create_with_sublist_#t~ret5.base_5|)) .cse1))) [2018-11-23 13:01:49,183 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse5 (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|)) (.cse3 (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|))) (let ((.cse0 (= |node_create_with_sublist_#res.offset| 0)) (.cse1 (= 0 (select .cse3 0))) (.cse2 (= (select .cse5 0) 0)) (.cse4 (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))) (or (and .cse0 .cse1 .cse2 (not (= 0 (select .cse3 4))) .cse4) (and .cse0 .cse1 .cse2 (not (= 0 (select .cse5 4))) .cse4)))) [2018-11-23 13:01:49,387 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:01:49,388 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 59 treesize of output 59 [2018-11-23 13:01:49,398 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2018-11-23 13:01:49,400 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,419 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,485 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:01:49,486 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 59 treesize of output 57 [2018-11-23 13:01:49,499 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 23 [2018-11-23 13:01:49,503 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,524 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,576 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:01:49,577 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 48 treesize of output 48 [2018-11-23 13:01:49,586 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2018-11-23 13:01:49,588 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,603 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,650 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:01:49,651 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 48 treesize of output 46 [2018-11-23 13:01:49,668 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 23 [2018-11-23 13:01:49,670 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,686 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:49,727 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 13:01:49,727 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:119, output treesize:75 [2018-11-23 13:01:50,616 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 60 [2018-11-23 13:01:50,630 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 13:01:50,633 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:50,700 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 46 treesize of output 56 [2018-11-23 13:01:50,705 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 2 xjuncts. [2018-11-23 13:01:50,752 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 13:01:50,839 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 46 treesize of output 58 [2018-11-23 13:01:50,851 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 47 treesize of output 46 [2018-11-23 13:01:50,867 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:50,930 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 2 case distinctions, treesize of input 44 treesize of output 49 [2018-11-23 13:01:50,933 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 2 xjuncts. [2018-11-23 13:01:50,975 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 13:01:50,983 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 39 [2018-11-23 13:01:50,991 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:50,993 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 19 [2018-11-23 13:01:50,995 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:51,013 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:51,145 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 13:01:51,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 51 treesize of output 50 [2018-11-23 13:01:51,162 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:51,236 INFO L267 ElimStorePlain]: Start of recursive call 10: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:51,367 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 46 treesize of output 56 [2018-11-23 13:01:51,387 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 47 treesize of output 46 [2018-11-23 13:01:51,393 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:51,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 42 treesize of output 56 [2018-11-23 13:01:51,494 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 4 xjuncts. [2018-11-23 13:01:51,567 INFO L267 ElimStorePlain]: Start of recursive call 12: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 13:01:51,710 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 4 dim-2 vars, End of recursive call: and 6 xjuncts. [2018-11-23 13:01:51,711 INFO L202 ElimStorePlain]: Needed 14 recursive calls to eliminate 6 variables, input treesize:101, output treesize:255 [2018-11-23 13:01:53,908 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:53,908 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_32|, sll_append_~new_last~0.base, |v_#memory_$Pointer$.offset_32|, v_prenex_9, v_prenex_7, v_prenex_8]. (or (let ((.cse0 (select |v_#memory_$Pointer$.base_32| sll_append_~new_last~0.base))) (and (not (= 0 (select .cse0 4))) (= 0 (select .cse0 0)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_32| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.base_32| |sll_append_#in~head.base|) |sll_append_#in~head.offset| sll_append_~new_last~0.base))) (= 0 (select (select |v_#memory_$Pointer$.offset_32| sll_append_~new_last~0.base) 0)) (= (store |v_#memory_$Pointer$.offset_32| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.offset_32| |sll_append_#in~head.base|) |sll_append_#in~head.offset| 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)))) (let ((.cse1 (select v_prenex_8 v_prenex_7))) (and (= 0 (select (select v_prenex_9 v_prenex_7) 0)) (= (store v_prenex_8 |sll_append_#in~head.base| (store (select v_prenex_8 |sll_append_#in~head.base|) |sll_append_#in~head.offset| 0)) |#memory_$Pointer$.offset|) (not (= (select .cse1 4) 0)) (= |#memory_$Pointer$.base| (store v_prenex_9 |sll_append_#in~head.base| (store (select v_prenex_9 |sll_append_#in~head.base|) |sll_append_#in~head.offset| v_prenex_7))) (= 0 (select .cse1 0)) (= 0 (select |old(#valid)| v_prenex_7))))) [2018-11-23 13:01:53,909 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse10 (select |#memory_$Pointer$.base| |sll_append_#in~head.base|))) (let ((.cse13 (select .cse10 |sll_append_#in~head.offset|))) (let ((.cse14 (select |#memory_$Pointer$.offset| .cse13)) (.cse1 (select |#memory_$Pointer$.base| .cse13)) (.cse15 (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|))) (let ((.cse7 (= (select |old(#valid)| |sll_append_#in~head.base|) 0)) (.cse6 (= (select .cse10 0) 0)) (.cse8 (= 0 (select .cse15 0))) (.cse9 (= 4 |sll_append_#in~head.offset|)) (.cse0 (= (select .cse15 |sll_append_#in~head.offset|) 0)) (.cse3 (= (select .cse1 0) 0)) (.cse5 (= .cse13 |sll_append_#in~head.base|)) (.cse11 (= 0 |sll_append_#in~head.offset|)) (.cse2 (= (select .cse14 0) 0)) (.cse12 (not (= 0 (select .cse14 4)))) (.cse4 (= (select |old(#valid)| .cse13) 0))) (or (and .cse0 (not (= (select .cse1 4) 0)) .cse2 .cse3 .cse4) (and .cse5 .cse0 .cse6 .cse7 .cse8 .cse9) (and .cse5 (not (= 0 (select .cse10 4))) .cse11 .cse7 .cse8) (and .cse5 .cse0 .cse6 .cse8 .cse9 .cse4) (and .cse0 .cse2 .cse3 .cse12 .cse4) (and .cse5 .cse11 .cse2 .cse12 .cse4)))))) [2018-11-23 13:01:54,190 WARN L180 SmtUtils]: Spent 168.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 44 [2018-11-23 13:01:54,283 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:54,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:54,285 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 59 treesize of output 53 [2018-11-23 13:01:54,288 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:54,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:54,351 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:54,352 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 59 treesize of output 53 [2018-11-23 13:01:54,357 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:54,544 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 13:01:54,545 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:252, output treesize:107 [2018-11-23 13:01:54,552 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:54,553 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_old(#valid)_AFTER_CALL_32|, v_prenex_12, v_prenex_14, v_prenex_13, v_prenex_11]. (let ((.cse3 (select |#memory_$Pointer$.base| |main_~#head~1.base|))) (let ((.cse5 (select .cse3 |main_~#head~1.offset|))) (let ((.cse11 (select |#memory_$Pointer$.offset| |main_~#head~1.base|)) (.cse9 (select |#memory_$Pointer$.base| .cse5)) (.cse12 (select |#memory_$Pointer$.offset| .cse5))) (let ((.cse6 (not (= (select .cse12 4) 0))) (.cse10 (= 0 (select .cse9 0))) (.cse7 (= (select .cse12 0) 0)) (.cse1 (= (select .cse11 0) 0)) (.cse8 (= (select .cse11 |main_~#head~1.offset|) 0)) (.cse2 (= |main_~#head~1.base| .cse5)) (.cse4 (= |main_~#head~1.offset| 0))) (or (let ((.cse0 (select |v_old(#valid)_AFTER_CALL_32| |main_~#head~1.base|))) (and (= 0 .cse0) .cse1 .cse2 (not (= 0 (select .cse3 4))) (= 1 .cse0) .cse4)) (and .cse2 .cse4 (= 1 (select v_prenex_12 |main_~#head~1.base|)) (= 0 (select v_prenex_12 .cse5)) .cse6 .cse7) (and (= 0 (select v_prenex_14 .cse5)) .cse8 .cse4 (not (= (select .cse9 4) 0)) (= 1 (select v_prenex_14 |main_~#head~1.base|)) .cse10 .cse7) (and (= 1 (select v_prenex_13 |main_~#head~1.base|)) .cse8 .cse4 .cse6 .cse10 (= 0 (select v_prenex_13 .cse5)) .cse7) (and .cse1 (= (select .cse3 0) 0) .cse8 .cse2 (= |main_~#head~1.offset| 4) (= 1 (select v_prenex_11 |main_~#head~1.base|)) .cse4 (= 0 (select v_prenex_11 .cse5)))))))) [2018-11-23 13:01:54,553 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse7 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (let ((.cse2 (select |#memory_$Pointer$.offset| .cse7)) (.cse6 (select |#memory_$Pointer$.base| .cse7))) (let ((.cse0 (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0)) (.cse1 (= |main_~#head~1.offset| 0)) (.cse3 (= 0 (select .cse6 0))) (.cse4 (not (= |main_~#head~1.base| .cse7))) (.cse5 (= (select .cse2 0) 0))) (or (and .cse0 .cse1 (not (= (select .cse2 4) 0)) .cse3 .cse4 .cse5) (and .cse0 .cse1 (not (= (select .cse6 4) 0)) .cse3 .cse4 .cse5))))) [2018-11-23 13:01:54,998 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 84 treesize of output 69 [2018-11-23 13:01:55,004 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 41 treesize of output 33 [2018-11-23 13:01:55,008 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:01:55,027 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:55,029 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 17 treesize of output 10 [2018-11-23 13:01:55,030 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,042 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:01:55,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 30 [2018-11-23 13:01:55,080 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 15 treesize of output 5 [2018-11-23 13:01:55,082 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,092 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 4 [2018-11-23 13:01:55,093 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,098 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,129 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 84 treesize of output 74 [2018-11-23 13:01:55,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 17 [2018-11-23 13:01:55,152 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,171 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 11 treesize of output 1 [2018-11-23 13:01:55,172 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,180 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,201 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 28 [2018-11-23 13:01:55,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 4 [2018-11-23 13:01:55,208 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,213 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 13:01:55,215 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,217 INFO L267 ElimStorePlain]: Start of recursive call 11: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:55,225 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 13:01:55,226 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 6 variables, input treesize:169, output treesize:9 [2018-11-23 13:01:55,232 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:55,232 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_17, |main_~#head~1.base|, v_prenex_18, |#memory_$Pointer$.base|, v_prenex_15, |#memory_$Pointer$.offset|]. (or (let ((.cse2 (select (select v_prenex_17 |main_~#head~1.base|) 0)) (.cse4 (select (select v_prenex_18 |main_~#head~1.base|) 0))) (let ((.cse1 (+ .cse4 4)) (.cse3 (select v_prenex_18 .cse2)) (.cse0 (select v_prenex_17 .cse2))) (and (= (select .cse0 0) 0) (= |main_#t~mem21.base| (select .cse0 .cse1)) (not (= .cse2 |main_~#head~1.base|)) (= (select .cse3 .cse1) |main_#t~mem21.offset|) (= .cse4 0) (= (select .cse3 0) 0) (not (= (select .cse0 4) 0))))) (let ((.cse9 (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (.cse8 (select (select |#memory_$Pointer$.base| v_prenex_15) 0))) (let ((.cse6 (select |#memory_$Pointer$.base| .cse8)) (.cse7 (+ .cse9 4)) (.cse5 (select |#memory_$Pointer$.offset| .cse8))) (and (= (select .cse5 0) 0) (= |main_#t~mem21.base| (select .cse6 .cse7)) (= (select .cse6 0) 0) (= |main_#t~mem21.offset| (select .cse5 .cse7)) (not (= .cse8 v_prenex_15)) (not (= 0 (select .cse5 4))) (= .cse9 0))))) [2018-11-23 13:01:55,232 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (or (not (= |main_#t~mem21.offset| 0)) (not (= |main_#t~mem21.base| 0))) [2018-11-23 13:01:55,356 INFO L256 TraceCheckUtils]: 0: Hoare triple {8628#true} call ULTIMATE.init(); {8628#true} is VALID [2018-11-23 13:01:55,356 INFO L273 TraceCheckUtils]: 1: Hoare triple {8628#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8628#true} is VALID [2018-11-23 13:01:55,357 INFO L273 TraceCheckUtils]: 2: Hoare triple {8628#true} assume true; {8628#true} is VALID [2018-11-23 13:01:55,357 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8628#true} {8628#true} #209#return; {8628#true} is VALID [2018-11-23 13:01:55,357 INFO L256 TraceCheckUtils]: 4: Hoare triple {8628#true} call #t~ret26 := main(); {8628#true} is VALID [2018-11-23 13:01:55,358 INFO L273 TraceCheckUtils]: 5: Hoare triple {8628#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,359 INFO L273 TraceCheckUtils]: 6: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,360 INFO L273 TraceCheckUtils]: 7: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,362 INFO L273 TraceCheckUtils]: 8: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,362 INFO L273 TraceCheckUtils]: 9: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,363 INFO L273 TraceCheckUtils]: 10: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,364 INFO L273 TraceCheckUtils]: 11: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,365 INFO L273 TraceCheckUtils]: 12: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,365 INFO L273 TraceCheckUtils]: 13: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,366 INFO L273 TraceCheckUtils]: 14: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,367 INFO L273 TraceCheckUtils]: 15: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,368 INFO L273 TraceCheckUtils]: 16: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,368 INFO L273 TraceCheckUtils]: 17: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,369 INFO L273 TraceCheckUtils]: 18: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,370 INFO L273 TraceCheckUtils]: 19: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:01:55,371 INFO L256 TraceCheckUtils]: 20: Hoare triple {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {8631#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:01:55,372 INFO L273 TraceCheckUtils]: 21: Hoare triple {8631#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {8632#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:01:55,373 INFO L256 TraceCheckUtils]: 22: Hoare triple {8632#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {8631#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:01:55,374 INFO L273 TraceCheckUtils]: 23: Hoare triple {8631#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} is VALID [2018-11-23 13:01:55,375 INFO L273 TraceCheckUtils]: 24: Hoare triple {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} is VALID [2018-11-23 13:01:55,375 INFO L256 TraceCheckUtils]: 25: Hoare triple {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {8628#true} is VALID [2018-11-23 13:01:55,375 INFO L273 TraceCheckUtils]: 26: Hoare triple {8628#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {8628#true} is VALID [2018-11-23 13:01:55,375 INFO L273 TraceCheckUtils]: 27: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:55,376 INFO L273 TraceCheckUtils]: 28: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:55,376 INFO L273 TraceCheckUtils]: 29: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:55,376 INFO L273 TraceCheckUtils]: 30: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:55,376 INFO L273 TraceCheckUtils]: 31: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:55,377 INFO L273 TraceCheckUtils]: 32: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:55,377 INFO L273 TraceCheckUtils]: 33: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:55,377 INFO L273 TraceCheckUtils]: 34: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:55,377 INFO L273 TraceCheckUtils]: 35: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:55,377 INFO L273 TraceCheckUtils]: 36: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:55,378 INFO L273 TraceCheckUtils]: 37: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8628#true} is VALID [2018-11-23 13:01:55,378 INFO L273 TraceCheckUtils]: 38: Hoare triple {8628#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8628#true} is VALID [2018-11-23 13:01:55,378 INFO L273 TraceCheckUtils]: 39: Hoare triple {8628#true} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {8628#true} is VALID [2018-11-23 13:01:55,379 INFO L273 TraceCheckUtils]: 40: Hoare triple {8628#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {8771#(or (not (= sll_create_~new_head~0.offset 0)) (not (= 0 sll_create_~new_head~0.base)))} is VALID [2018-11-23 13:01:55,380 INFO L273 TraceCheckUtils]: 41: Hoare triple {8771#(or (not (= sll_create_~new_head~0.offset 0)) (not (= 0 sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {8775#(or (not (= sll_create_~head~0.base 0)) (not (= 0 sll_create_~head~0.offset)))} is VALID [2018-11-23 13:01:55,380 INFO L273 TraceCheckUtils]: 42: Hoare triple {8775#(or (not (= sll_create_~head~0.base 0)) (not (= 0 sll_create_~head~0.offset)))} assume !(~len > 0); {8775#(or (not (= sll_create_~head~0.base 0)) (not (= 0 sll_create_~head~0.offset)))} is VALID [2018-11-23 13:01:55,380 INFO L273 TraceCheckUtils]: 43: Hoare triple {8775#(or (not (= sll_create_~head~0.base 0)) (not (= 0 sll_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {8782#(or (not (= 0 |sll_create_#res.base|)) (not (= |sll_create_#res.offset| 0)))} is VALID [2018-11-23 13:01:55,381 INFO L273 TraceCheckUtils]: 44: Hoare triple {8782#(or (not (= 0 |sll_create_#res.base|)) (not (= |sll_create_#res.offset| 0)))} assume true; {8782#(or (not (= 0 |sll_create_#res.base|)) (not (= |sll_create_#res.offset| 0)))} is VALID [2018-11-23 13:01:55,382 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {8782#(or (not (= 0 |sll_create_#res.base|)) (not (= |sll_create_#res.offset| 0)))} {8633#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)))} #215#return; {8789#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (or (not (= 0 |node_create_with_sublist_#t~ret5.base|)) (not (= 0 |node_create_with_sublist_#t~ret5.offset|))))} is VALID [2018-11-23 13:01:55,384 INFO L273 TraceCheckUtils]: 46: Hoare triple {8789#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (or (not (= 0 |node_create_with_sublist_#t~ret5.base|)) (not (= 0 |node_create_with_sublist_#t~ret5.offset|))))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {8793#(or (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))))} is VALID [2018-11-23 13:01:55,384 INFO L273 TraceCheckUtils]: 47: Hoare triple {8793#(or (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))))} assume true; {8793#(or (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))))} is VALID [2018-11-23 13:01:55,387 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {8793#(or (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))) (and (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 0)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4))) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|))))} {8632#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} #205#return; {8800#(and (or (and (= 0 |sll_append_#t~ret8.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4))) (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 0)) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 0) 0)) (and (= 0 |sll_append_#t~ret8.offset|) (not (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 4))) (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 0)) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 0) 0))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:01:55,388 INFO L273 TraceCheckUtils]: 49: Hoare triple {8800#(and (or (and (= 0 |sll_append_#t~ret8.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4))) (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 0)) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 0) 0)) (and (= 0 |sll_append_#t~ret8.offset|) (not (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 4))) (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 0)) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 0) 0))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {8804#(or (and (not (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) 4) 0)) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) 0) (= sll_append_~new_last~0.offset 0) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset)) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base))) (and (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) 0) (= sll_append_~new_last~0.offset 0) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset)) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)) (not (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) 4)))))} is VALID [2018-11-23 13:01:55,390 INFO L273 TraceCheckUtils]: 50: Hoare triple {8804#(or (and (not (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) 4) 0)) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) 0) (= sll_append_~new_last~0.offset 0) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset)) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base))) (and (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) 0) (= sll_append_~new_last~0.offset 0) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset)) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)) (not (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) 4)))))} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {8808#(or (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (= 4 |sll_append_#in~head.offset|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= 0 |sll_append_#in~head.offset|) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} is VALID [2018-11-23 13:01:55,391 INFO L273 TraceCheckUtils]: 51: Hoare triple {8808#(or (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (= 4 |sll_append_#in~head.offset|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= 0 |sll_append_#in~head.offset|) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} assume true; {8808#(or (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (= 4 |sll_append_#in~head.offset|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= 0 |sll_append_#in~head.offset|) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} is VALID [2018-11-23 13:01:55,411 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {8808#(or (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (= 4 |sll_append_#in~head.offset|) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= 0 |sll_append_#in~head.offset|) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} {8665#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #199#return; {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,432 INFO L273 TraceCheckUtils]: 53: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,447 INFO L273 TraceCheckUtils]: 54: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} #t~short18 := ~j~0 < 10; {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,456 INFO L273 TraceCheckUtils]: 55: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,469 INFO L273 TraceCheckUtils]: 56: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,478 INFO L273 TraceCheckUtils]: 57: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,493 INFO L273 TraceCheckUtils]: 58: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} assume !(~i~0 <= ~max~0); {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} is VALID [2018-11-23 13:01:55,503 INFO L273 TraceCheckUtils]: 59: Hoare triple {8815#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (= |main_~#head~1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0)))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {8837#(or (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) |main_~#head~1.base|)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0))) (exists ((v_prenex_15 Int)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) v_prenex_15)) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 4))) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_15) 0) 0))))} is VALID [2018-11-23 13:01:55,518 INFO L273 TraceCheckUtils]: 60: Hoare triple {8837#(or (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) |main_~#head~1.base|)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0))) (exists ((v_prenex_15 Int)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) v_prenex_15)) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 4))) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_15) 0) 0))))} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {8837#(or (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) |main_~#head~1.base|)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0))) (exists ((v_prenex_15 Int)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) v_prenex_15)) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 4))) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_15) 0) 0))))} is VALID [2018-11-23 13:01:55,533 INFO L273 TraceCheckUtils]: 61: Hoare triple {8837#(or (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) |main_~#head~1.base|)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0))) (exists ((v_prenex_15 Int)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) v_prenex_15)) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 4))) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_15) 0) 0))))} assume !(~i~0 > ~max~0); {8837#(or (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) |main_~#head~1.base|)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0))) (exists ((v_prenex_15 Int)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) v_prenex_15)) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 4))) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_15) 0) 0))))} is VALID [2018-11-23 13:01:55,542 INFO L273 TraceCheckUtils]: 62: Hoare triple {8837#(or (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) |main_~#head~1.base|)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0))) (exists ((v_prenex_15 Int)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) v_prenex_15)) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_15) 0)) 4))) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| v_prenex_15) 0)) (= (select (select |#memory_$Pointer$.base| v_prenex_15) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_15) 0) 0))))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {8847#(or (not (= |main_#t~mem21.offset| 0)) (not (= |main_#t~mem21.base| 0)))} is VALID [2018-11-23 13:01:55,543 INFO L256 TraceCheckUtils]: 63: Hoare triple {8847#(or (not (= |main_#t~mem21.offset| 0)) (not (= |main_#t~mem21.base| 0)))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {8628#true} is VALID [2018-11-23 13:01:55,555 INFO L273 TraceCheckUtils]: 64: Hoare triple {8628#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {8854#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2018-11-23 13:01:55,568 INFO L273 TraceCheckUtils]: 65: Hoare triple {8854#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !(~head.base != 0 || ~head.offset != 0); {8858#(and (= 0 |sll_length_#in~head.offset|) (= 0 |sll_length_#in~head.base|))} is VALID [2018-11-23 13:01:55,571 INFO L273 TraceCheckUtils]: 66: Hoare triple {8858#(and (= 0 |sll_length_#in~head.offset|) (= 0 |sll_length_#in~head.base|))} #res := ~len~0; {8858#(and (= 0 |sll_length_#in~head.offset|) (= 0 |sll_length_#in~head.base|))} is VALID [2018-11-23 13:01:55,571 INFO L273 TraceCheckUtils]: 67: Hoare triple {8858#(and (= 0 |sll_length_#in~head.offset|) (= 0 |sll_length_#in~head.base|))} assume true; {8858#(and (= 0 |sll_length_#in~head.offset|) (= 0 |sll_length_#in~head.base|))} is VALID [2018-11-23 13:01:55,573 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {8858#(and (= 0 |sll_length_#in~head.offset|) (= 0 |sll_length_#in~head.base|))} {8847#(or (not (= |main_#t~mem21.offset| 0)) (not (= |main_#t~mem21.base| 0)))} #201#return; {8629#false} is VALID [2018-11-23 13:01:55,573 INFO L273 TraceCheckUtils]: 69: Hoare triple {8629#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {8629#false} is VALID [2018-11-23 13:01:55,573 INFO L273 TraceCheckUtils]: 70: Hoare triple {8629#false} assume !(~i~0 == ~count~0); {8629#false} is VALID [2018-11-23 13:01:55,573 INFO L273 TraceCheckUtils]: 71: Hoare triple {8629#false} assume !(3 == ~i~0 && 5 == ~count~0); {8629#false} is VALID [2018-11-23 13:01:55,573 INFO L273 TraceCheckUtils]: 72: Hoare triple {8629#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {8629#false} is VALID [2018-11-23 13:01:55,573 INFO L273 TraceCheckUtils]: 73: Hoare triple {8629#false} assume !false; {8629#false} is VALID [2018-11-23 13:01:55,601 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 9 proven. 14 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2018-11-23 13:01:55,622 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:55,622 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 33 [2018-11-23 13:01:55,623 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 74 [2018-11-23 13:01:55,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:55,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 13:01:55,761 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:55,761 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 13:01:55,762 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 13:01:55,763 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=982, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 13:01:55,763 INFO L87 Difference]: Start difference. First operand 148 states and 182 transitions. Second operand 33 states. [2018-11-23 13:02:02,099 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 41 [2018-11-23 13:02:02,536 WARN L180 SmtUtils]: Spent 227.00 ms on a formula simplification. DAG size of input: 68 DAG size of output: 67 [2018-11-23 13:02:07,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:07,940 INFO L93 Difference]: Finished difference Result 259 states and 353 transitions. [2018-11-23 13:02:07,940 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 13:02:07,941 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 74 [2018-11-23 13:02:07,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:07,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 13:02:07,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 144 transitions. [2018-11-23 13:02:07,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 13:02:07,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 144 transitions. [2018-11-23 13:02:07,946 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 144 transitions. [2018-11-23 13:02:09,087 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:09,096 INFO L225 Difference]: With dead ends: 259 [2018-11-23 13:02:09,096 INFO L226 Difference]: Without dead ends: 234 [2018-11-23 13:02:09,097 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 261 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=151, Invalid=1919, Unknown=0, NotChecked=0, Total=2070 [2018-11-23 13:02:09,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 234 states. [2018-11-23 13:02:09,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 234 to 203. [2018-11-23 13:02:09,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:09,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 234 states. Second operand 203 states. [2018-11-23 13:02:09,851 INFO L74 IsIncluded]: Start isIncluded. First operand 234 states. Second operand 203 states. [2018-11-23 13:02:09,851 INFO L87 Difference]: Start difference. First operand 234 states. Second operand 203 states. [2018-11-23 13:02:09,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:09,861 INFO L93 Difference]: Finished difference Result 234 states and 320 transitions. [2018-11-23 13:02:09,861 INFO L276 IsEmpty]: Start isEmpty. Operand 234 states and 320 transitions. [2018-11-23 13:02:09,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:09,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:09,862 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand 234 states. [2018-11-23 13:02:09,863 INFO L87 Difference]: Start difference. First operand 203 states. Second operand 234 states. [2018-11-23 13:02:09,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:09,871 INFO L93 Difference]: Finished difference Result 234 states and 320 transitions. [2018-11-23 13:02:09,871 INFO L276 IsEmpty]: Start isEmpty. Operand 234 states and 320 transitions. [2018-11-23 13:02:09,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:09,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:09,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:09,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:09,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 203 states. [2018-11-23 13:02:09,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 263 transitions. [2018-11-23 13:02:09,880 INFO L78 Accepts]: Start accepts. Automaton has 203 states and 263 transitions. Word has length 74 [2018-11-23 13:02:09,880 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:09,880 INFO L480 AbstractCegarLoop]: Abstraction has 203 states and 263 transitions. [2018-11-23 13:02:09,880 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-23 13:02:09,880 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 263 transitions. [2018-11-23 13:02:09,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2018-11-23 13:02:09,882 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:09,882 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:09,882 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:09,882 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:09,883 INFO L82 PathProgramCache]: Analyzing trace with hash -693566771, now seen corresponding path program 1 times [2018-11-23 13:02:09,883 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:09,883 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:09,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:09,884 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:09,884 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:09,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:11,498 WARN L180 SmtUtils]: Spent 445.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 43 [2018-11-23 13:02:12,979 INFO L256 TraceCheckUtils]: 0: Hoare triple {10003#true} call ULTIMATE.init(); {10003#true} is VALID [2018-11-23 13:02:12,980 INFO L273 TraceCheckUtils]: 1: Hoare triple {10003#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10003#true} is VALID [2018-11-23 13:02:12,980 INFO L273 TraceCheckUtils]: 2: Hoare triple {10003#true} assume true; {10003#true} is VALID [2018-11-23 13:02:12,980 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10003#true} {10003#true} #209#return; {10003#true} is VALID [2018-11-23 13:02:12,980 INFO L256 TraceCheckUtils]: 4: Hoare triple {10003#true} call #t~ret26 := main(); {10003#true} is VALID [2018-11-23 13:02:12,982 INFO L273 TraceCheckUtils]: 5: Hoare triple {10003#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,982 INFO L273 TraceCheckUtils]: 6: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,983 INFO L273 TraceCheckUtils]: 7: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,983 INFO L273 TraceCheckUtils]: 8: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,984 INFO L273 TraceCheckUtils]: 9: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,984 INFO L273 TraceCheckUtils]: 10: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,985 INFO L273 TraceCheckUtils]: 11: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,986 INFO L273 TraceCheckUtils]: 12: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,986 INFO L273 TraceCheckUtils]: 13: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,987 INFO L273 TraceCheckUtils]: 14: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,988 INFO L273 TraceCheckUtils]: 15: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,989 INFO L273 TraceCheckUtils]: 16: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,989 INFO L273 TraceCheckUtils]: 17: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,990 INFO L273 TraceCheckUtils]: 18: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,991 INFO L273 TraceCheckUtils]: 19: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:12,992 INFO L256 TraceCheckUtils]: 20: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:12,993 INFO L273 TraceCheckUtils]: 21: Hoare triple {10006#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {10007#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:02:12,994 INFO L256 TraceCheckUtils]: 22: Hoare triple {10007#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:12,995 INFO L273 TraceCheckUtils]: 23: Hoare triple {10006#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {10008#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= (select |#valid| node_create_with_sublist_~new_node~0.base) 1))} is VALID [2018-11-23 13:02:12,995 INFO L273 TraceCheckUtils]: 24: Hoare triple {10008#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= (select |#valid| node_create_with_sublist_~new_node~0.base) 1))} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {10008#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= (select |#valid| node_create_with_sublist_~new_node~0.base) 1))} is VALID [2018-11-23 13:02:12,996 INFO L256 TraceCheckUtils]: 25: Hoare triple {10008#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= (select |#valid| node_create_with_sublist_~new_node~0.base) 1))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:12,996 INFO L273 TraceCheckUtils]: 26: Hoare triple {10006#(= |#valid| |old(#valid)|)} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:12,997 INFO L273 TraceCheckUtils]: 27: Hoare triple {10006#(= |#valid| |old(#valid)|)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10009#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:12,998 INFO L273 TraceCheckUtils]: 28: Hoare triple {10009#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10009#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,000 INFO L273 TraceCheckUtils]: 29: Hoare triple {10009#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10009#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,003 INFO L273 TraceCheckUtils]: 30: Hoare triple {10009#(and (or (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10010#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,005 INFO L273 TraceCheckUtils]: 31: Hoare triple {10010#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10010#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,007 INFO L273 TraceCheckUtils]: 32: Hoare triple {10010#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10010#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,015 INFO L273 TraceCheckUtils]: 33: Hoare triple {10010#(and (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10011#(and (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,017 INFO L273 TraceCheckUtils]: 34: Hoare triple {10011#(and (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10011#(and (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,019 INFO L273 TraceCheckUtils]: 35: Hoare triple {10011#(and (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10011#(and (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,033 INFO L273 TraceCheckUtils]: 36: Hoare triple {10011#(and (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10012#(and (or (= (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)) 1) (= 0 (select |old(#valid)| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|))) (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))))) (not (= 0 sll_create_~new_head~0.base)) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= |#valid| (store (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)))) (= (select |#valid| sll_create_~new_head~0.base) 1) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,038 INFO L273 TraceCheckUtils]: 37: Hoare triple {10012#(and (or (= (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)) 1) (= 0 (select |old(#valid)| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|))) (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))))) (not (= 0 sll_create_~new_head~0.base)) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= |#valid| (store (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)))) (= (select |#valid| sll_create_~new_head~0.base) 1) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10012#(and (or (= (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)) 1) (= 0 (select |old(#valid)| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|))) (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))))) (not (= 0 sll_create_~new_head~0.base)) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= |#valid| (store (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)))) (= (select |#valid| sll_create_~new_head~0.base) 1) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-23 13:02:13,042 INFO L273 TraceCheckUtils]: 38: Hoare triple {10012#(and (or (= (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)) 1) (= 0 (select |old(#valid)| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|))) (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))))) (not (= 0 sll_create_~new_head~0.base)) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= |#valid| (store (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)))) (= (select |#valid| sll_create_~new_head~0.base) 1) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10013#(and (or (= (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)) 1) (= 0 (select |old(#valid)| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|))) (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= |#valid| (store (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_create_~head~0.base)))} is VALID [2018-11-23 13:02:13,046 INFO L273 TraceCheckUtils]: 39: Hoare triple {10013#(and (or (= (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)) 1) (= 0 (select |old(#valid)| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|))) (= |#valid| (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (= (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|)) 1) (= |#valid| (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))))) (or (= 0 (select |old(#valid)| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (= (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|)) 1) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))))) (= |#valid| (store (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|) (select |#valid| (@diff (store (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|) (select |#valid| (@diff (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))) |#valid|))) |#valid|)))) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|) (= 0 (select |old(#valid)| (@diff |old(#valid)| |#valid|)))) (not (= 0 sll_create_~head~0.base)))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10014#(and (= 0 (select |old(#valid)| sll_create_~new_head~0.base)) (= 0 sll_create_~new_head~0.offset) (not (= 0 sll_create_~head~0.base)))} is VALID [2018-11-23 13:02:13,048 INFO L273 TraceCheckUtils]: 40: Hoare triple {10014#(and (= 0 (select |old(#valid)| sll_create_~new_head~0.base)) (= 0 sll_create_~new_head~0.offset) (not (= 0 sll_create_~head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10014#(and (= 0 (select |old(#valid)| sll_create_~new_head~0.base)) (= 0 sll_create_~new_head~0.offset) (not (= 0 sll_create_~head~0.base)))} is VALID [2018-11-23 13:02:13,049 INFO L273 TraceCheckUtils]: 41: Hoare triple {10014#(and (= 0 (select |old(#valid)| sll_create_~new_head~0.base)) (= 0 sll_create_~new_head~0.offset) (not (= 0 sll_create_~head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10015#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0))) (= 0 sll_create_~head~0.offset) (= 0 (select |old(#valid)| sll_create_~head~0.base)))} is VALID [2018-11-23 13:02:13,049 INFO L273 TraceCheckUtils]: 42: Hoare triple {10015#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0))) (= 0 sll_create_~head~0.offset) (= 0 (select |old(#valid)| sll_create_~head~0.base)))} assume !(~len > 0); {10015#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0))) (= 0 sll_create_~head~0.offset) (= 0 (select |old(#valid)| sll_create_~head~0.base)))} is VALID [2018-11-23 13:02:13,050 INFO L273 TraceCheckUtils]: 43: Hoare triple {10015#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0))) (= 0 sll_create_~head~0.offset) (= 0 (select |old(#valid)| sll_create_~head~0.base)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10016#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0))) (= 0 (select |old(#valid)| |sll_create_#res.base|)) (= 0 |sll_create_#res.offset|))} is VALID [2018-11-23 13:02:13,067 INFO L273 TraceCheckUtils]: 44: Hoare triple {10016#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0))) (= 0 (select |old(#valid)| |sll_create_#res.base|)) (= 0 |sll_create_#res.offset|))} assume true; {10016#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0))) (= 0 (select |old(#valid)| |sll_create_#res.base|)) (= 0 |sll_create_#res.offset|))} is VALID [2018-11-23 13:02:13,069 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {10016#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0))) (= 0 (select |old(#valid)| |sll_create_#res.base|)) (= 0 |sll_create_#res.offset|))} {10008#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= (select |#valid| node_create_with_sublist_~new_node~0.base) 1))} #215#return; {10017#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= 0 |node_create_with_sublist_#t~ret5.offset|) (not (= 0 (select (select (store |#memory_$Pointer$.base| node_create_with_sublist_~new_node~0.base (store (store (select |#memory_$Pointer$.base| node_create_with_sublist_~new_node~0.base) (+ node_create_with_sublist_~new_node~0.offset 4) |node_create_with_sublist_#t~ret5.base|) node_create_with_sublist_~new_node~0.offset 0)) |node_create_with_sublist_#t~ret5.base|) 0))))} is VALID [2018-11-23 13:02:13,070 INFO L273 TraceCheckUtils]: 46: Hoare triple {10017#(and (= 0 node_create_with_sublist_~new_node~0.offset) (= 0 (select |old(#valid)| node_create_with_sublist_~new_node~0.base)) (= 0 |node_create_with_sublist_#t~ret5.offset|) (not (= 0 (select (select (store |#memory_$Pointer$.base| node_create_with_sublist_~new_node~0.base (store (store (select |#memory_$Pointer$.base| node_create_with_sublist_~new_node~0.base) (+ node_create_with_sublist_~new_node~0.offset 4) |node_create_with_sublist_#t~ret5.base|) node_create_with_sublist_~new_node~0.offset 0)) |node_create_with_sublist_#t~ret5.base|) 0))))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {10018#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4)) 0))) (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4)) (not (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4) |node_create_with_sublist_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} is VALID [2018-11-23 13:02:13,071 INFO L273 TraceCheckUtils]: 47: Hoare triple {10018#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4)) 0))) (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4)) (not (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4) |node_create_with_sublist_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} assume true; {10018#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4)) 0))) (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4)) (not (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4) |node_create_with_sublist_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} is VALID [2018-11-23 13:02:13,085 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {10018#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4)) 0))) (= 0 |node_create_with_sublist_#res.offset|) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) 4)) (not (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) 4) |node_create_with_sublist_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} {10007#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} #205#return; {10019#(and (= 0 |sll_append_#t~ret8.offset|) (or (not (= 0 (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (and (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4) |sll_append_#t~ret8.base|))) (= |sll_append_#in~head.base| |sll_append_#t~ret8.base|) (not (= 0 |sll_append_#in~head.offset|))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:02:13,087 INFO L273 TraceCheckUtils]: 49: Hoare triple {10019#(and (= 0 |sll_append_#t~ret8.offset|) (or (not (= 0 (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (and (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) 4) |sll_append_#t~ret8.base|))) (= |sll_append_#in~head.base| |sll_append_#t~ret8.base|) (not (= 0 |sll_append_#in~head.offset|))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {10020#(and (or (= sll_append_~new_last~0.base sll_append_~head.base) (not (= 0 sll_append_~temp~0.base)) (and (not (= 0 (select (select (store |#memory_$Pointer$.base| sll_append_~head.base (store (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.base)) (select (select (store |#memory_$Pointer$.base| sll_append_~head.base (store (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.base)) sll_append_~new_last~0.base) 4)) 0))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~head.base (store (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.offset)) sll_append_~new_last~0.base) 4))) (not (= 0 |sll_append_#in~head.offset|))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= sll_append_~new_last~0.base sll_append_~head.base))) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 sll_append_~new_last~0.offset))} is VALID [2018-11-23 13:02:13,089 INFO L273 TraceCheckUtils]: 50: Hoare triple {10020#(and (or (= sll_append_~new_last~0.base sll_append_~head.base) (not (= 0 sll_append_~temp~0.base)) (and (not (= 0 (select (select (store |#memory_$Pointer$.base| sll_append_~head.base (store (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.base)) (select (select (store |#memory_$Pointer$.base| sll_append_~head.base (store (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.base)) sll_append_~new_last~0.base) 4)) 0))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~head.base (store (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset sll_append_~new_last~0.offset)) sll_append_~new_last~0.base) 4))) (not (= 0 |sll_append_#in~head.offset|))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= sll_append_~new_last~0.base sll_append_~head.base))) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 sll_append_~new_last~0.offset))} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {10021#(and (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} is VALID [2018-11-23 13:02:13,090 INFO L273 TraceCheckUtils]: 51: Hoare triple {10021#(and (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} assume true; {10021#(and (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} is VALID [2018-11-23 13:02:13,094 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {10021#(and (or (= 0 (select |old(#valid)| |sll_append_#in~head.base|)) (not (= 0 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)))) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #199#return; {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,095 INFO L273 TraceCheckUtils]: 53: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,095 INFO L273 TraceCheckUtils]: 54: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~short18 := ~j~0 < 10; {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,096 INFO L273 TraceCheckUtils]: 55: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,096 INFO L273 TraceCheckUtils]: 56: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,097 INFO L273 TraceCheckUtils]: 57: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,098 INFO L273 TraceCheckUtils]: 58: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} assume !(~i~0 <= ~max~0); {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} is VALID [2018-11-23 13:02:13,098 INFO L273 TraceCheckUtils]: 59: Hoare triple {10022#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {10023#(and (= main_~ptr~0.offset 0) (= 0 (select (select |#memory_$Pointer$.offset| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) 0))))} is VALID [2018-11-23 13:02:13,099 INFO L273 TraceCheckUtils]: 60: Hoare triple {10023#(and (= main_~ptr~0.offset 0) (= 0 (select (select |#memory_$Pointer$.offset| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) 0))))} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {10023#(and (= main_~ptr~0.offset 0) (= 0 (select (select |#memory_$Pointer$.offset| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) 0))))} is VALID [2018-11-23 13:02:13,100 INFO L273 TraceCheckUtils]: 61: Hoare triple {10023#(and (= main_~ptr~0.offset 0) (= 0 (select (select |#memory_$Pointer$.offset| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) 0))))} assume !(~i~0 > ~max~0); {10023#(and (= main_~ptr~0.offset 0) (= 0 (select (select |#memory_$Pointer$.offset| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) 0))))} is VALID [2018-11-23 13:02:13,101 INFO L273 TraceCheckUtils]: 62: Hoare triple {10023#(and (= main_~ptr~0.offset 0) (= 0 (select (select |#memory_$Pointer$.offset| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~ptr~0.base) (+ main_~ptr~0.offset 4))) 0))))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {10024#(and (= 0 |main_#t~mem21.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) 0))))} is VALID [2018-11-23 13:02:13,101 INFO L256 TraceCheckUtils]: 63: Hoare triple {10024#(and (= 0 |main_#t~mem21.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) 0))))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {10003#true} is VALID [2018-11-23 13:02:13,102 INFO L273 TraceCheckUtils]: 64: Hoare triple {10003#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {10025#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|))} is VALID [2018-11-23 13:02:13,103 INFO L273 TraceCheckUtils]: 65: Hoare triple {10025#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post6 := ~len~0;~len~0 := 1 + #t~post6;havoc #t~post6;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {10026#(or (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0) sll_length_~head.base) (not (= 0 |sll_length_#in~head.offset|)))} is VALID [2018-11-23 13:02:13,113 INFO L273 TraceCheckUtils]: 66: Hoare triple {10026#(or (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0) sll_length_~head.base) (not (= 0 |sll_length_#in~head.offset|)))} assume !(~head.base != 0 || ~head.offset != 0); {10027#(or (not (= 0 |sll_length_#in~head.offset|)) (= 0 (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0)))} is VALID [2018-11-23 13:02:13,113 INFO L273 TraceCheckUtils]: 67: Hoare triple {10027#(or (not (= 0 |sll_length_#in~head.offset|)) (= 0 (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0)))} #res := ~len~0; {10027#(or (not (= 0 |sll_length_#in~head.offset|)) (= 0 (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0)))} is VALID [2018-11-23 13:02:13,114 INFO L273 TraceCheckUtils]: 68: Hoare triple {10027#(or (not (= 0 |sll_length_#in~head.offset|)) (= 0 (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0)))} assume true; {10027#(or (not (= 0 |sll_length_#in~head.offset|)) (= 0 (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0)))} is VALID [2018-11-23 13:02:13,115 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {10027#(or (not (= 0 |sll_length_#in~head.offset|)) (= 0 (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) 0)))} {10024#(and (= 0 |main_#t~mem21.offset|) (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) 0))))} #201#return; {10004#false} is VALID [2018-11-23 13:02:13,115 INFO L273 TraceCheckUtils]: 70: Hoare triple {10004#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {10004#false} is VALID [2018-11-23 13:02:13,115 INFO L273 TraceCheckUtils]: 71: Hoare triple {10004#false} assume !(~i~0 == ~count~0); {10004#false} is VALID [2018-11-23 13:02:13,115 INFO L273 TraceCheckUtils]: 72: Hoare triple {10004#false} assume !(3 == ~i~0 && 5 == ~count~0); {10004#false} is VALID [2018-11-23 13:02:13,115 INFO L273 TraceCheckUtils]: 73: Hoare triple {10004#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {10004#false} is VALID [2018-11-23 13:02:13,115 INFO L273 TraceCheckUtils]: 74: Hoare triple {10004#false} assume !false; {10004#false} is VALID [2018-11-23 13:02:13,138 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 0 proven. 50 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:02:13,138 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:13,138 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:13,150 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:13,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:13,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:13,230 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:13,258 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 13:02:13,259 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:13,269 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:13,270 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 13:02:13,272 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:13,272 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_31|]. (and (= |#valid| (store |v_#valid_31| |main_~#head~1.base| 1)) (= |main_~#head~1.offset| 0)) [2018-11-23 13:02:13,272 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0)) [2018-11-23 13:02:24,653 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 13:02:24,658 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 13:02:24,673 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:24,675 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:24,692 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-11-23 13:02:24,693 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 6 variables, input treesize:63, output treesize:56 [2018-11-23 13:02:24,699 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:24,699 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|, |v_#memory_$Pointer$.base_33|, v_sll_create_~head~0.base_5]. (let ((.cse1 (store |old(#valid)| v_prenex_20 1))) (let ((.cse0 (store (store .cse1 v_prenex_21 1) v_prenex_22 1))) (and (= 0 (select (store .cse0 |sll_create_#t~malloc2.base| 1) sll_create_~head~0.base)) (= (select .cse0 |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select .cse1 v_prenex_21)) (= (store |v_#memory_$Pointer$.base_33| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_33| sll_create_~head~0.base) 0 v_sll_create_~head~0.base_5)) |#memory_$Pointer$.base|) (= 0 sll_create_~head~0.offset) (not (= 0 v_sll_create_~head~0.base_5))))) [2018-11-23 13:02:24,699 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|]. (let ((.cse1 (store |old(#valid)| v_prenex_20 1))) (let ((.cse0 (store (store .cse1 v_prenex_21 1) v_prenex_22 1))) (and (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0) 0)) (= 0 (select (store .cse0 |sll_create_#t~malloc2.base| 1) sll_create_~head~0.base)) (= (select .cse0 |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select .cse1 v_prenex_21)) (= 0 sll_create_~head~0.offset)))) [2018-11-23 13:02:25,394 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,401 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,403 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-23 13:02:25,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 25 [2018-11-23 13:02:25,416 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-11-23 13:02:25,422 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:25,433 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:25,444 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:25,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 13:02:25,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 13:02:25,500 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 13:02:25,503 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:25,511 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:25,519 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:25,557 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-2 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-11-23 13:02:25,558 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 7 variables, input treesize:109, output treesize:112 [2018-11-23 13:02:25,568 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:25,569 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|, |v_node_create_with_sublist_#t~ret5.base_6|, |v_#memory_$Pointer$.base_34|, |v_#memory_$Pointer$.offset_33|]. (let ((.cse3 (store |old(#valid)| |node_create_with_sublist_#res.base| 1))) (let ((.cse0 (store .cse3 v_prenex_20 1))) (let ((.cse1 (+ |node_create_with_sublist_#res.offset| 4)) (.cse2 (store (store .cse0 v_prenex_21 1) v_prenex_22 1))) (and (= 0 (select .cse0 v_prenex_21)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_34| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.base_34| |node_create_with_sublist_#res.base|) .cse1 |v_node_create_with_sublist_#t~ret5.base_6|) |node_create_with_sublist_#res.offset| 0))) (not (= (select (select |v_#memory_$Pointer$.base_34| |v_node_create_with_sublist_#t~ret5.base_6|) 0) 0)) (= (select (store .cse2 |sll_create_#t~malloc2.base| 1) |v_node_create_with_sublist_#t~ret5.base_6|) 0) (= |node_create_with_sublist_#res.offset| 0) (= (store |v_#memory_$Pointer$.offset_33| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.offset_33| |node_create_with_sublist_#res.base|) .cse1 0) |node_create_with_sublist_#res.offset| 0)) |#memory_$Pointer$.offset|) (= (select .cse2 |sll_create_#t~malloc2.base|) 0) (not (= |node_create_with_sublist_#res.base| 0)) (= (select .cse3 v_prenex_20) 0) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))))) [2018-11-23 13:02:25,569 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|]. (let ((.cse6 (store |old(#valid)| |node_create_with_sublist_#res.base| 1))) (let ((.cse2 (store .cse6 v_prenex_20 1)) (.cse4 (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|)) (.cse1 (+ |node_create_with_sublist_#res.offset| 4))) (let ((.cse3 (select .cse4 .cse1)) (.cse5 (store (store .cse2 v_prenex_21 1) v_prenex_22 1)) (.cse0 (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|))) (and (= 0 (select .cse0 .cse1)) (= 0 (select .cse2 v_prenex_21)) (not (= 0 (select (select |#memory_$Pointer$.base| .cse3) 0))) (= |node_create_with_sublist_#res.offset| 0) (= 0 (select .cse4 |node_create_with_sublist_#res.offset|)) (= 0 (select (store .cse5 |sll_create_#t~malloc2.base| 1) .cse3)) (= (select .cse5 |sll_create_#t~malloc2.base|) 0) (not (= |node_create_with_sublist_#res.base| 0)) (= 0 (select .cse0 |node_create_with_sublist_#res.offset|)) (= (select .cse6 v_prenex_20) 0) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))))) [2018-11-23 13:02:25,985 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,987 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,989 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:25,990 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:02:25,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 76 [2018-11-23 13:02:26,017 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:26,045 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 81 treesize of output 102 [2018-11-23 13:02:26,051 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:02:26,073 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:02:26,125 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:02:26,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 21 [2018-11-23 13:02:26,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:26,135 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 21 treesize of output 26 [2018-11-23 13:02:26,138 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:26,149 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:26,193 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-2 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-11-23 13:02:26,193 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 6 variables, input treesize:140, output treesize:136 [2018-11-23 13:02:26,201 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:26,201 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|, |v_#memory_$Pointer$.base_35|, |v_#memory_$Pointer$.offset_34|]. (let ((.cse6 (store |old(#valid)| sll_append_~new_last~0.base 1))) (let ((.cse2 (store .cse6 v_prenex_20 1)) (.cse3 (select |v_#memory_$Pointer$.base_35| sll_append_~new_last~0.base)) (.cse1 (+ sll_append_~new_last~0.offset 4))) (let ((.cse0 (select |v_#memory_$Pointer$.offset_34| sll_append_~new_last~0.base)) (.cse4 (select .cse3 .cse1)) (.cse5 (store (store .cse2 v_prenex_21 1) v_prenex_22 1))) (and (= (select .cse0 sll_append_~new_last~0.offset) 0) (= (store |v_#memory_$Pointer$.offset_34| sll_append_~new_last~0.base (store .cse0 sll_append_~new_last~0.offset 0)) |#memory_$Pointer$.offset|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select .cse0 .cse1)) (= 0 (select .cse2 v_prenex_21)) (= sll_append_~head.base |sll_append_#in~head.base|) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_35| sll_append_~new_last~0.base (store .cse3 sll_append_~new_last~0.offset 0))) (= 0 (select .cse3 sll_append_~new_last~0.offset)) (not (= sll_append_~new_last~0.base 0)) (= sll_append_~new_last~0.offset 0) (not (= (select (select |v_#memory_$Pointer$.base_35| .cse4) 0) 0)) (= (select (store .cse5 |sll_create_#t~malloc2.base| 1) .cse4) 0) (= (select .cse5 |sll_create_#t~malloc2.base|) 0) (= (select .cse6 v_prenex_20) 0) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)))))) [2018-11-23 13:02:26,202 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|, v_antiDerIndex_1]. (let ((.cse2 (select |#memory_$Pointer$.base| sll_append_~new_last~0.base)) (.cse3 (+ sll_append_~new_last~0.offset 4)) (.cse7 (store |old(#valid)| sll_append_~new_last~0.base 1))) (let ((.cse4 (store .cse7 v_prenex_20 1)) (.cse6 (select .cse2 .cse3))) (let ((.cse1 (select |#memory_$Pointer$.base| .cse6)) (.cse0 (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base)) (.cse5 (store (store .cse4 v_prenex_21 1) v_prenex_22 1))) (and (= (select .cse0 sll_append_~new_last~0.offset) 0) (not (= 0 (select .cse1 0))) (not (= (select .cse1 v_antiDerIndex_1) (select .cse2 v_antiDerIndex_1))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select .cse0 .cse3) 0) (= 0 (select .cse4 v_prenex_21)) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select (store .cse5 |sll_create_#t~malloc2.base| 1) .cse6)) (not (= sll_append_~new_last~0.base 0)) (= sll_append_~new_last~0.offset 0) (= 0 (select .cse2 sll_append_~new_last~0.offset)) (= (select .cse5 |sll_create_#t~malloc2.base|) 0) (= (select .cse7 v_prenex_20) 0) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)))))) [2018-11-23 13:02:26,439 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:26,448 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:26,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 55 treesize of output 91 [2018-11-23 13:02:26,597 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 83 [2018-11-23 13:02:26,600 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:26,717 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:26,735 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 49 treesize of output 65 [2018-11-23 13:02:26,752 INFO L267 ElimStorePlain]: Start of recursive call 4: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:02:26,896 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: 1 dim-0 vars, and 3 xjuncts. [2018-11-23 13:02:27,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 26 treesize of output 36 [2018-11-23 13:02:27,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 26 [2018-11-23 13:02:27,050 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:27,097 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:27,231 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-2 vars, End of recursive call: 13 dim-0 vars, and 3 xjuncts. [2018-11-23 13:02:27,231 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 7 variables, input treesize:125, output treesize:380 [2018-11-23 13:02:27,249 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:27,250 WARN L384 uantifierElimination]: Input elimination task: ∃ [sll_append_~new_last~0.base, v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|, |v_#memory_$Pointer$.base_36|, |v_#memory_$Pointer$.offset_35|]. (let ((.cse5 (store |old(#valid)| sll_append_~new_last~0.base 1))) (let ((.cse4 (select |v_#memory_$Pointer$.base_36| sll_append_~new_last~0.base)) (.cse3 (store .cse5 v_prenex_20 1))) (let ((.cse0 (select |v_#memory_$Pointer$.offset_35| sll_append_~new_last~0.base)) (.cse2 (store (store .cse3 v_prenex_21 1) v_prenex_22 1)) (.cse1 (select .cse4 4))) (and (= |#memory_$Pointer$.offset| (store |v_#memory_$Pointer$.offset_35| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.offset_35| |sll_append_#in~head.base|) |sll_append_#in~head.offset| 0))) (= 0 (select .cse0 4)) (= 0 (select .cse0 0)) (not (= sll_append_~new_last~0.base 0)) (not (= (select (select |v_#memory_$Pointer$.base_36| .cse1) 0) 0)) (= (select .cse2 |sll_create_#t~malloc2.base|) 0) (= 0 (select .cse3 v_prenex_21)) (= 0 (select .cse4 0)) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_36| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.base_36| |sll_append_#in~head.base|) |sll_append_#in~head.offset| sll_append_~new_last~0.base))) (= (select .cse5 v_prenex_20) 0) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)) (= (select (store .cse2 |sll_create_#t~malloc2.base| 1) .cse1) 0))))) [2018-11-23 13:02:27,250 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_31, v_prenex_30, v_prenex_29, v_prenex_28, v_prenex_23, v_prenex_27, v_prenex_26, v_prenex_25, v_prenex_24, v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|]. (let ((.cse6 (select |#memory_$Pointer$.base| |sll_append_#in~head.base|))) (let ((.cse20 (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|)) (.cse14 (select .cse6 |sll_append_#in~head.offset|))) (let ((.cse0 (= .cse14 |sll_append_#in~head.base|)) (.cse5 (= (select .cse20 |sll_append_#in~head.offset|) 0)) (.cse1 (= 0 (select .cse20 4))) (.cse2 (= (select |old(#valid)| |sll_append_#in~head.base|) 0)) (.cse3 (= 0 (select .cse20 0))) (.cse9 (not (= 0 |sll_append_#in~head.base|))) (.cse8 (store |old(#valid)| |sll_append_#in~head.base| 1))) (or (let ((.cse7 (store .cse8 v_prenex_31 1))) (let ((.cse4 (store (store .cse7 v_prenex_30 1) v_prenex_29 1))) (and .cse0 .cse1 .cse2 .cse3 (= 4 |sll_append_#in~head.offset|) (= (select (store .cse4 v_prenex_28 1) v_prenex_23) 0) (= 0 (select .cse4 v_prenex_28)) (not (= 0 (select (select |#memory_$Pointer$.base| v_prenex_23) 0))) .cse5 (= (select .cse6 0) 0) (= 0 (select .cse7 v_prenex_30)) (= 0 (select .cse8 v_prenex_31)) .cse9))) (let ((.cse15 (store |old(#valid)| .cse14 1))) (let ((.cse16 (select |#memory_$Pointer$.base| .cse14)) (.cse11 (store .cse15 v_prenex_27 1))) (let ((.cse12 (select |#memory_$Pointer$.offset| .cse14)) (.cse13 (store (store .cse11 v_prenex_26 1) v_prenex_25 1)) (.cse10 (select .cse16 4))) (and (not (= 0 (select (select |#memory_$Pointer$.base| .cse10) 0))) (= (select .cse11 v_prenex_26) 0) .cse5 (= 0 (select .cse12 4)) (= (select .cse13 v_prenex_24) 0) (not (= 0 .cse14)) (= (select .cse12 0) 0) (= 0 (select (store .cse13 v_prenex_24 1) .cse10)) (= 0 (select .cse15 v_prenex_27)) (= (select .cse16 0) 0) (= (select |old(#valid)| .cse14) 0))))) (let ((.cse17 (store .cse8 v_prenex_20 1))) (let ((.cse18 (select .cse6 4)) (.cse19 (store (store .cse17 v_prenex_21 1) v_prenex_22 1))) (and .cse0 .cse5 (= 0 |sll_append_#in~head.offset|) (= 0 (select .cse17 v_prenex_21)) .cse1 .cse2 .cse3 (= 0 (select .cse8 v_prenex_20)) (not (= 0 (select (select |#memory_$Pointer$.base| .cse18) 0))) .cse9 (= (select (store .cse19 |sll_create_#t~malloc2.base| 1) .cse18) 0) (= 0 (select .cse19 |sll_create_#t~malloc2.base|))))))))) [2018-11-23 13:02:27,771 WARN L180 SmtUtils]: Spent 238.00 ms on a formula simplification. DAG size of input: 113 DAG size of output: 113 [2018-11-23 13:02:28,627 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification. DAG size of input: 122 DAG size of output: 53 [2018-11-23 13:02:28,641 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,644 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,645 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 95 [2018-11-23 13:02:28,768 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 36 [2018-11-23 13:02:28,781 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,782 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,784 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,785 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,786 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 100 [2018-11-23 13:02:28,825 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 94 [2018-11-23 13:02:28,938 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,940 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,942 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,944 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,948 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:28,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 117 [2018-11-23 13:02:29,101 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,103 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,104 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,107 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,108 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,109 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,111 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,115 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,116 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,118 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,120 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 7 select indices, 7 select index equivalence classes, 19 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 137 [2018-11-23 13:02:29,125 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,163 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,207 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,244 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,281 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,354 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,354 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 16 variables, input treesize:387, output treesize:80 [2018-11-23 13:02:29,363 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:29,364 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_BEFORE_CALL_10|, v_prenex_31, v_prenex_30, v_prenex_29, v_prenex_28, v_prenex_23, v_prenex_33, v_prenex_20, v_prenex_21, v_prenex_22, |sll_create_#t~malloc2.base|, v_prenex_32, v_prenex_27, v_prenex_26, v_prenex_25, v_prenex_24]. (let ((.cse9 (select |#memory_$Pointer$.base| |main_~#head~1.base|))) (let ((.cse20 (select .cse9 |main_~#head~1.offset|)) (.cse19 (select |#memory_$Pointer$.offset| |main_~#head~1.base|))) (let ((.cse0 (= (select .cse19 4) 0)) (.cse8 (= (select .cse19 0) 0)) (.cse1 (not (= |main_~#head~1.base| 0))) (.cse5 (= |main_~#head~1.base| .cse20)) (.cse6 (= |main_~#head~1.offset| 0))) (or (let ((.cse3 (store |v_#valid_BEFORE_CALL_10| |main_~#head~1.base| 1))) (let ((.cse7 (store .cse3 v_prenex_31 1))) (let ((.cse4 (select |v_#valid_BEFORE_CALL_10| |main_~#head~1.base|)) (.cse2 (store (store .cse7 v_prenex_30 1) v_prenex_29 1))) (and .cse0 .cse1 (= 0 (select .cse2 v_prenex_28)) (= 0 (select .cse3 v_prenex_31)) (= .cse4 1) .cse5 (= |main_~#head~1.offset| 4) .cse6 (= (select .cse7 v_prenex_30) 0) .cse8 (not (= 0 (select (select |#memory_$Pointer$.base| v_prenex_23) 0))) (= (select .cse9 0) 0) (= .cse4 0) (= (select (store .cse2 v_prenex_28 1) v_prenex_23) 0))))) (let ((.cse10 (store v_prenex_33 |main_~#head~1.base| 1))) (let ((.cse14 (store .cse10 v_prenex_20 1))) (let ((.cse11 (store (store .cse14 v_prenex_21 1) v_prenex_22 1)) (.cse12 (select .cse9 4)) (.cse13 (select v_prenex_33 |main_~#head~1.base|))) (and .cse0 .cse8 .cse1 (= (select .cse10 v_prenex_20) 0) (= (select (store .cse11 |sll_create_#t~malloc2.base| 1) .cse12) 0) .cse5 (= .cse13 1) (= (select .cse11 |sll_create_#t~malloc2.base|) 0) (not (= (select (select |#memory_$Pointer$.base| .cse12) 0) 0)) .cse6 (= (select .cse14 v_prenex_21) 0) (= .cse13 0))))) (let ((.cse17 (store v_prenex_32 .cse20 1))) (let ((.cse18 (select |#memory_$Pointer$.base| .cse20)) (.cse21 (store .cse17 v_prenex_27 1))) (let ((.cse15 (store (store .cse21 v_prenex_26 1) v_prenex_25 1)) (.cse16 (select .cse18 4)) (.cse22 (select |#memory_$Pointer$.offset| .cse20))) (and (= (select (store .cse15 v_prenex_24 1) .cse16) 0) .cse6 (= 0 (select .cse17 v_prenex_27)) (= 0 (select .cse18 0)) (= (select v_prenex_32 |main_~#head~1.base|) 1) (= (select .cse19 |main_~#head~1.offset|) 0) (= 0 (select .cse15 v_prenex_24)) (not (= 0 .cse20)) (= 0 (select .cse21 v_prenex_26)) (= (select .cse22 4) 0) (not (= (select (select |#memory_$Pointer$.base| .cse16) 0) 0)) (= 0 (select v_prenex_32 .cse20)) (= (select .cse22 0) 0))))))))) [2018-11-23 13:02:29,364 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (let ((.cse3 (select |#memory_$Pointer$.base| .cse1))) (let ((.cse0 (select .cse3 4)) (.cse2 (select |#memory_$Pointer$.offset| .cse1))) (and (not (= |main_~#head~1.base| .cse0)) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 .cse1)) (= |main_~#head~1.offset| 0) (= (select .cse2 4) 0) (not (= (select (select |#memory_$Pointer$.base| .cse0) 0) 0)) (= 0 (select .cse3 0)) (= (select .cse2 0) 0))))) [2018-11-23 13:02:29,816 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:29,819 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 48 [2018-11-23 13:02:29,829 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 17 [2018-11-23 13:02:29,831 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 3 [2018-11-23 13:02:29,848 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,853 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:29,868 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 13:02:29,868 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:111, output treesize:62 [2018-11-23 13:02:29,873 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:29,873 WARN L384 uantifierElimination]: Input elimination task: ∃ [|main_~#head~1.base|, |#memory_$Pointer$.offset|]. (let ((.cse3 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0))) (let ((.cse0 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (.cse1 (select |#memory_$Pointer$.base| .cse3))) (let ((.cse2 (select .cse1 4)) (.cse4 (+ .cse0 4)) (.cse5 (select |#memory_$Pointer$.offset| .cse3))) (and (= .cse0 0) (= (select .cse1 0) 0) (not (= .cse2 |main_~#head~1.base|)) (not (= .cse3 0)) (not (= (select (select |#memory_$Pointer$.base| .cse2) 0) 0)) (= |main_#t~mem21.base| (select .cse1 .cse4)) (= 0 (select .cse5 4)) (= (select .cse5 .cse4) |main_#t~mem21.offset|) (= (select .cse5 0) 0))))) [2018-11-23 13:02:29,873 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#head~1.base|]. (let ((.cse2 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0))) (let ((.cse1 (select |#memory_$Pointer$.base| .cse2))) (let ((.cse0 (select .cse1 4))) (and (= .cse0 |main_#t~mem21.base|) (= (select .cse1 0) 0) (not (= .cse0 |main_~#head~1.base|)) (not (= .cse2 0)) (not (= (select (select |#memory_$Pointer$.base| .cse0) 0) 0)) (= |main_#t~mem21.offset| 0))))) [2018-11-23 13:02:30,408 INFO L256 TraceCheckUtils]: 0: Hoare triple {10003#true} call ULTIMATE.init(); {10003#true} is VALID [2018-11-23 13:02:30,408 INFO L273 TraceCheckUtils]: 1: Hoare triple {10003#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10003#true} is VALID [2018-11-23 13:02:30,409 INFO L273 TraceCheckUtils]: 2: Hoare triple {10003#true} assume true; {10003#true} is VALID [2018-11-23 13:02:30,409 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10003#true} {10003#true} #209#return; {10003#true} is VALID [2018-11-23 13:02:30,409 INFO L256 TraceCheckUtils]: 4: Hoare triple {10003#true} call #t~ret26 := main(); {10003#true} is VALID [2018-11-23 13:02:30,410 INFO L273 TraceCheckUtils]: 5: Hoare triple {10003#true} ~min~0 := 3;~max~0 := 5;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4);call write~init~$Pointer$(0, 0, ~#head~1.base, ~#head~1.offset, 4);~i~0 := ~min~0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,411 INFO L273 TraceCheckUtils]: 6: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,412 INFO L273 TraceCheckUtils]: 7: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,413 INFO L273 TraceCheckUtils]: 8: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,414 INFO L273 TraceCheckUtils]: 9: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,414 INFO L273 TraceCheckUtils]: 10: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,415 INFO L273 TraceCheckUtils]: 11: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,417 INFO L273 TraceCheckUtils]: 14: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,418 INFO L273 TraceCheckUtils]: 15: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,419 INFO L273 TraceCheckUtils]: 16: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!(~i~0 <= ~max~0);~j~0 := 0; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,420 INFO L273 TraceCheckUtils]: 17: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #t~short18 := ~j~0 < 10; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,420 INFO L273 TraceCheckUtils]: 18: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,421 INFO L273 TraceCheckUtils]: 19: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} assume !!#t~short18;havoc #t~short18;havoc #t~nondet17; {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} is VALID [2018-11-23 13:02:30,422 INFO L256 TraceCheckUtils]: 20: Hoare triple {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:30,423 INFO L273 TraceCheckUtils]: 21: Hoare triple {10006#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {10007#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-23 13:02:30,424 INFO L256 TraceCheckUtils]: 22: Hoare triple {10007#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:30,425 INFO L273 TraceCheckUtils]: 23: Hoare triple {10006#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {10100#(and (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1)))} is VALID [2018-11-23 13:02:30,426 INFO L273 TraceCheckUtils]: 24: Hoare triple {10100#(and (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1)))} assume !(0 == ~new_node~0.base && 0 == ~new_node~0.offset); {10104#(and (not (= node_create_with_sublist_~new_node~0.base 0)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1)))} is VALID [2018-11-23 13:02:30,427 INFO L256 TraceCheckUtils]: 25: Hoare triple {10104#(and (not (= node_create_with_sublist_~new_node~0.base 0)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:30,427 INFO L273 TraceCheckUtils]: 26: Hoare triple {10006#(= |#valid| |old(#valid)|)} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {10006#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 13:02:30,429 INFO L273 TraceCheckUtils]: 27: Hoare triple {10006#(= |#valid| |old(#valid)|)} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10114#(exists ((|sll_create_#t~malloc2.base| Int)) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) 0)))} is VALID [2018-11-23 13:02:30,429 INFO L273 TraceCheckUtils]: 28: Hoare triple {10114#(exists ((|sll_create_#t~malloc2.base| Int)) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) 0)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10114#(exists ((|sll_create_#t~malloc2.base| Int)) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) 0)))} is VALID [2018-11-23 13:02:30,430 INFO L273 TraceCheckUtils]: 29: Hoare triple {10114#(exists ((|sll_create_#t~malloc2.base| Int)) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) 0)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10114#(exists ((|sll_create_#t~malloc2.base| Int)) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) 0)))} is VALID [2018-11-23 13:02:30,432 INFO L273 TraceCheckUtils]: 30: Hoare triple {10114#(exists ((|sll_create_#t~malloc2.base| Int)) (and (= |#valid| (store |old(#valid)| |sll_create_#t~malloc2.base| 1)) (= (select |old(#valid)| |sll_create_#t~malloc2.base|) 0)))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10124#(exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} is VALID [2018-11-23 13:02:30,432 INFO L273 TraceCheckUtils]: 31: Hoare triple {10124#(exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10124#(exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} is VALID [2018-11-23 13:02:30,433 INFO L273 TraceCheckUtils]: 32: Hoare triple {10124#(exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10124#(exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} is VALID [2018-11-23 13:02:30,435 INFO L273 TraceCheckUtils]: 33: Hoare triple {10124#(exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10134#(exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} is VALID [2018-11-23 13:02:30,435 INFO L273 TraceCheckUtils]: 34: Hoare triple {10134#(exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10134#(exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} is VALID [2018-11-23 13:02:30,436 INFO L273 TraceCheckUtils]: 35: Hoare triple {10134#(exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10134#(exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} is VALID [2018-11-23 13:02:30,438 INFO L273 TraceCheckUtils]: 36: Hoare triple {10134#(exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= |#valid| (store (store (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base 1)) (= 0 (select (store |old(#valid)| v_prenex_20 1) |sll_create_#t~malloc2.base|))))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10144#(and (= sll_create_~new_head~0.offset 0) (exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) sll_create_~new_head~0.base 1) |sll_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)) (= (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) sll_create_~new_head~0.base 1) |sll_create_#t~malloc2.base| 1) |#valid|))))} is VALID [2018-11-23 13:02:30,440 INFO L273 TraceCheckUtils]: 37: Hoare triple {10144#(and (= sll_create_~new_head~0.offset 0) (exists ((|sll_create_#t~malloc2.base| Int) (sll_create_~new_head~0.base Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select |old(#valid)| v_prenex_20) 0) (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) sll_create_~new_head~0.base 1) |sll_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)) (= (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) sll_create_~new_head~0.base 1) |sll_create_#t~malloc2.base| 1) |#valid|))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10148#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |#valid|) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))) (not (= 0 sll_create_~new_head~0.base)))} is VALID [2018-11-23 13:02:30,441 INFO L273 TraceCheckUtils]: 38: Hoare triple {10148#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |#valid|) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))) (not (= 0 sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10152#(and (not (= sll_create_~head~0.base 0)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |#valid|) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))))} is VALID [2018-11-23 13:02:30,455 INFO L273 TraceCheckUtils]: 39: Hoare triple {10152#(and (not (= sll_create_~head~0.base 0)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |#valid|) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))))} assume !!(~len > 0);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10156#(and (not (= sll_create_~head~0.base 0)) (= sll_create_~new_head~0.offset 0) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base)))))} is VALID [2018-11-23 13:02:30,456 INFO L273 TraceCheckUtils]: 40: Hoare triple {10156#(and (not (= sll_create_~head~0.base 0)) (= sll_create_~new_head~0.offset 0) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base)))))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10156#(and (not (= sll_create_~head~0.base 0)) (= sll_create_~new_head~0.offset 0) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base)))))} is VALID [2018-11-23 13:02:31,605 INFO L273 TraceCheckUtils]: 41: Hoare triple {10156#(and (not (= sll_create_~head~0.base 0)) (= sll_create_~new_head~0.offset 0) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~new_head~0.base)))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {10163#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~head~0.base)) (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))) (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0) 0)) (= 0 sll_create_~head~0.offset))} is UNKNOWN [2018-11-23 13:02:31,606 INFO L273 TraceCheckUtils]: 42: Hoare triple {10163#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~head~0.base)) (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))) (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0) 0)) (= 0 sll_create_~head~0.offset))} assume !(~len > 0); {10163#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~head~0.base)) (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))) (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0) 0)) (= 0 sll_create_~head~0.offset))} is VALID [2018-11-23 13:02:31,609 INFO L273 TraceCheckUtils]: 43: Hoare triple {10163#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) sll_create_~head~0.base)) (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))) (not (= (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) 0) 0)) (= 0 sll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10170#(and (= |sll_create_#res.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0) 0)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |sll_create_#res.base|)) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))))} is VALID [2018-11-23 13:02:31,610 INFO L273 TraceCheckUtils]: 44: Hoare triple {10170#(and (= |sll_create_#res.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0) 0)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |sll_create_#res.base|)) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))))} assume true; {10170#(and (= |sll_create_#res.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0) 0)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |sll_create_#res.base|)) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))))} is VALID [2018-11-23 13:02:31,624 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {10170#(and (= |sll_create_#res.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) 0) 0)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select |old(#valid)| v_prenex_20) 0) (= 0 (select (store (store (store (store |old(#valid)| v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |sll_create_#res.base|)) (= 0 (select (store |old(#valid)| v_prenex_20 1) v_prenex_21)))))} {10104#(and (not (= node_create_with_sublist_~new_node~0.base 0)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (= |#valid| (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1)))} #215#return; {10177#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20) 0) (= (select (store (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= 0 (select (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20 1) v_prenex_21)) (= (select (store (store (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |node_create_with_sublist_#t~ret5.base|) 0))) (not (= node_create_with_sublist_~new_node~0.base 0)) (= 0 |node_create_with_sublist_#t~ret5.offset|) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) 0))))} is VALID [2018-11-23 13:02:31,635 INFO L273 TraceCheckUtils]: 46: Hoare triple {10177#(and (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20) 0) (= (select (store (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= 0 (select (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20 1) v_prenex_21)) (= (select (store (store (store (store (store |old(#valid)| node_create_with_sublist_~new_node~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) |node_create_with_sublist_#t~ret5.base|) 0))) (not (= node_create_with_sublist_~new_node~0.base 0)) (= 0 |node_create_with_sublist_#t~ret5.offset|) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) 0) (= node_create_with_sublist_~new_node~0.offset 0) (not (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#t~ret5.base|) 0))))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, 4 + ~new_node~0.offset, 4);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0, 0, ~new_node~0.base, ~new_node~0.offset, 4);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {10181#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) 0))) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4)))) (= (select (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20) 0))) (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= |node_create_with_sublist_#res.base| 0)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} is VALID [2018-11-23 13:02:31,638 INFO L273 TraceCheckUtils]: 47: Hoare triple {10181#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) 0))) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4)))) (= (select (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20) 0))) (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= |node_create_with_sublist_#res.base| 0)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} assume true; {10181#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) 0))) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4)))) (= (select (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20) 0))) (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= |node_create_with_sublist_#res.base| 0)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} is VALID [2018-11-23 13:02:31,643 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {10181#(and (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4))) 0))) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (+ |node_create_with_sublist_#res.offset| 4)))) (= (select (store (store (store (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= (select (store |old(#valid)| |node_create_with_sublist_#res.base| 1) v_prenex_20) 0))) (= |node_create_with_sublist_#res.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (not (= |node_create_with_sublist_#res.base| 0)) (= 0 (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|)) (= 0 (select |old(#valid)| |node_create_with_sublist_#res.base|)))} {10007#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} #205#return; {10188#(and (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (= 0 |sll_append_#t~ret8.offset|) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20 1) v_prenex_21) 0) (= 0 (select (store (store (store (store (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (+ |sll_append_#t~ret8.offset| 4)))) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|)) (= 0 (select (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20)))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (+ |sll_append_#t~ret8.offset| 4)) 0) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|) 0) (= sll_append_~head.base |sll_append_#in~head.base|) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (+ |sll_append_#t~ret8.offset| 4))) 0))) (not (= 0 |sll_append_#t~ret8.base|)))} is VALID [2018-11-23 13:02:31,653 INFO L273 TraceCheckUtils]: 49: Hoare triple {10188#(and (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (= 0 |sll_append_#t~ret8.offset|) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= (select (store (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20 1) v_prenex_21) 0) (= 0 (select (store (store (store (store (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (+ |sll_append_#t~ret8.offset| 4)))) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|)) (= 0 (select (store |old(#valid)| |sll_append_#t~ret8.base| 1) v_prenex_20)))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (+ |sll_append_#t~ret8.offset| 4)) 0) (= 0 (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|) 0) (= sll_append_~head.base |sll_append_#in~head.base|) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) (+ |sll_append_#t~ret8.offset| 4))) 0))) (not (= 0 |sll_append_#t~ret8.base|)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0, 0, ~new_last~0.base, ~new_last~0.offset, 4);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {10192#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (+ sll_append_~new_last~0.offset 4))) 0))) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) 0) (not (= sll_append_~new_last~0.base 0)) (= sll_append_~new_last~0.offset 0) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset)) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (+ sll_append_~new_last~0.offset 4)) 0) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store (store (store (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (+ sll_append_~new_last~0.offset 4)))) (= (select (store (store (store (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= 0 (select (store (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20 1) v_prenex_21)) (= (select (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20) 0))))} is VALID [2018-11-23 13:02:31,840 INFO L273 TraceCheckUtils]: 50: Hoare triple {10192#(and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (+ sll_append_~new_last~0.offset 4))) 0))) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) 0) (not (= sll_append_~new_last~0.base 0)) (= sll_append_~new_last~0.offset 0) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= 0 (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset)) (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (+ sll_append_~new_last~0.offset 4)) 0) (= sll_append_~head.base |sll_append_#in~head.base|) (= 0 (select |old(#valid)| sll_append_~new_last~0.base)) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store (store (store (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (+ sll_append_~new_last~0.offset 4)))) (= (select (store (store (store (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|) 0) (= 0 (select (store (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20 1) v_prenex_21)) (= (select (store |old(#valid)| sll_append_~new_last~0.base 1) v_prenex_20) 0))))} assume !(0 != ~temp~0.base || 0 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {10196#(or (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|)))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0)))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((v_prenex_29 Int) (v_prenex_28 Int) (v_prenex_23 Int) (v_prenex_30 Int) (v_prenex_31 Int)) (and (not (= 0 (select (select |#memory_$Pointer$.base| v_prenex_23) 0))) (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30)) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28 1) v_prenex_23) 0))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (= 4 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (exists ((v_prenex_27 Int) (v_prenex_26 Int) (v_prenex_25 Int) (v_prenex_24 Int)) (and (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26) 0) (= (select (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24) 0) (= 0 (select (store (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24 1) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} is VALID [2018-11-23 13:02:31,841 INFO L273 TraceCheckUtils]: 51: Hoare triple {10196#(or (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|)))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0)))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((v_prenex_29 Int) (v_prenex_28 Int) (v_prenex_23 Int) (v_prenex_30 Int) (v_prenex_31 Int)) (and (not (= 0 (select (select |#memory_$Pointer$.base| v_prenex_23) 0))) (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30)) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28 1) v_prenex_23) 0))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (= 4 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (exists ((v_prenex_27 Int) (v_prenex_26 Int) (v_prenex_25 Int) (v_prenex_24 Int)) (and (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26) 0) (= (select (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24) 0) (= 0 (select (store (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24 1) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} assume true; {10196#(or (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|)))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0)))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((v_prenex_29 Int) (v_prenex_28 Int) (v_prenex_23 Int) (v_prenex_30 Int) (v_prenex_31 Int)) (and (not (= 0 (select (select |#memory_$Pointer$.base| v_prenex_23) 0))) (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30)) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28 1) v_prenex_23) 0))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (= 4 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (exists ((v_prenex_27 Int) (v_prenex_26 Int) (v_prenex_25 Int) (v_prenex_24 Int)) (and (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26) 0) (= (select (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24) 0) (= 0 (select (store (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24 1) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} is VALID [2018-11-23 13:02:31,844 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {10196#(or (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((|sll_create_#t~malloc2.base| Int) (v_prenex_22 Int) (v_prenex_21 Int) (v_prenex_20 Int)) (and (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base| 1) (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_20 1) v_prenex_21 1) v_prenex_22 1) |sll_create_#t~malloc2.base|)))) (= 0 |sll_append_#in~head.offset|) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 4)) 0)))) (and (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (exists ((v_prenex_29 Int) (v_prenex_28 Int) (v_prenex_23 Int) (v_prenex_30 Int) (v_prenex_31 Int)) (and (not (= 0 (select (select |#memory_$Pointer$.base| v_prenex_23) 0))) (= 0 (select (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30)) (= 0 (select (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28)) (= 0 (select (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31)) (= (select (store (store (store (store (store |old(#valid)| |sll_append_#in~head.base| 1) v_prenex_31 1) v_prenex_30 1) v_prenex_29 1) v_prenex_28 1) v_prenex_23) 0))) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) 0) 0) (= (select |old(#valid)| |sll_append_#in~head.base|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) 0)) (not (= 0 |sll_append_#in~head.base|)) (= 4 |sll_append_#in~head.offset|)) (and (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) 0))) (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (exists ((v_prenex_27 Int) (v_prenex_26 Int) (v_prenex_25 Int) (v_prenex_24 Int)) (and (= (select (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26) 0) (= (select (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24) 0) (= 0 (select (store (store (store (store (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27 1) v_prenex_26 1) v_prenex_25 1) v_prenex_24 1) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 4))) (= 0 (select (store |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 1) v_prenex_27)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0) 0) (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) 0)))} {10005#(and (= (select |#valid| |main_~#head~1.base|) 1) (= |main_~#head~1.offset| 0))} #199#return; {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,845 INFO L273 TraceCheckUtils]: 53: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} #t~post16 := ~j~0;~j~0 := 1 + #t~post16;havoc #t~post16; {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,846 INFO L273 TraceCheckUtils]: 54: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} #t~short18 := ~j~0 < 10; {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,848 INFO L273 TraceCheckUtils]: 55: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,849 INFO L273 TraceCheckUtils]: 56: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,850 INFO L273 TraceCheckUtils]: 57: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} #t~post15 := ~i~0;~i~0 := 1 + #t~post15;havoc #t~post15; {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,851 INFO L273 TraceCheckUtils]: 58: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} assume !(~i~0 <= ~max~0); {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} is VALID [2018-11-23 13:02:31,853 INFO L273 TraceCheckUtils]: 59: Hoare triple {10203#(and (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|) 0) (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= |main_~#head~1.offset| 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) 0) 0))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem19.base, #t~mem19.offset;havoc #t~mem19.base, #t~mem19.offset;~i~0 := ~min~0; {10225#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0)))} is VALID [2018-11-23 13:02:31,854 INFO L273 TraceCheckUtils]: 60: Hoare triple {10225#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0)))} assume !!(0 != ~ptr~0.base || 0 != ~ptr~0.offset); {10225#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0)))} is VALID [2018-11-23 13:02:31,855 INFO L273 TraceCheckUtils]: 61: Hoare triple {10225#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0)))} assume !(~i~0 > ~max~0); {10225#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0)))} is VALID [2018-11-23 13:02:31,857 INFO L273 TraceCheckUtils]: 62: Hoare triple {10225#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) (= main_~ptr~0.offset (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) 0)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0)))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4); {10235#(and (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))) (= |main_#t~mem21.offset| 0))} is VALID [2018-11-23 13:02:31,859 INFO L256 TraceCheckUtils]: 63: Hoare triple {10235#(and (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))) (= |main_#t~mem21.offset| 0))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {10239#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0))))} is VALID [2018-11-23 13:02:31,860 INFO L273 TraceCheckUtils]: 64: Hoare triple {10239#(exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {10243#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} is VALID [2018-11-23 13:02:31,861 INFO L273 TraceCheckUtils]: 65: Hoare triple {10243#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post6 := ~len~0;~len~0 := 1 + #t~post6;havoc #t~post6;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem7.base, #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset; {10247#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} is VALID [2018-11-23 13:02:31,862 INFO L273 TraceCheckUtils]: 66: Hoare triple {10247#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} assume !(~head.base != 0 || ~head.offset != 0); {10251#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} is VALID [2018-11-23 13:02:31,863 INFO L273 TraceCheckUtils]: 67: Hoare triple {10251#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} #res := ~len~0; {10251#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} is VALID [2018-11-23 13:02:31,864 INFO L273 TraceCheckUtils]: 68: Hoare triple {10251#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} assume true; {10251#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} is VALID [2018-11-23 13:02:31,866 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {10251#(and (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0) (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))))} {10235#(and (exists ((|main_~#head~1.base| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 0) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4) |main_~#head~1.base|)) (not (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0) 0)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) 0)) 4)) 0) 0)))) (= |main_#t~mem21.offset| 0))} #201#return; {10004#false} is VALID [2018-11-23 13:02:31,867 INFO L273 TraceCheckUtils]: 70: Hoare triple {10004#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~count~0 := #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {10004#false} is VALID [2018-11-23 13:02:31,867 INFO L273 TraceCheckUtils]: 71: Hoare triple {10004#false} assume !(~i~0 == ~count~0); {10004#false} is VALID [2018-11-23 13:02:31,867 INFO L273 TraceCheckUtils]: 72: Hoare triple {10004#false} assume !(3 == ~i~0 && 5 == ~count~0); {10004#false} is VALID [2018-11-23 13:02:31,867 INFO L273 TraceCheckUtils]: 73: Hoare triple {10004#false} assume !(1 + ~i~0 == ~count~0 && ~i~0 < ~max~0); {10004#false} is VALID [2018-11-23 13:02:31,867 INFO L273 TraceCheckUtils]: 74: Hoare triple {10004#false} assume !false; {10004#false} is VALID [2018-11-23 13:02:31,905 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 0 proven. 49 refuted. 1 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:02:31,924 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:31,924 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 28] total 48 [2018-11-23 13:02:31,925 INFO L78 Accepts]: Start accepts. Automaton has 48 states. Word has length 75 [2018-11-23 13:02:31,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:31,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states. [2018-11-23 13:02:35,814 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 111 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:35,815 INFO L459 AbstractCegarLoop]: Interpolant automaton has 48 states [2018-11-23 13:02:35,815 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2018-11-23 13:02:35,816 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=2104, Unknown=11, NotChecked=0, Total=2256 [2018-11-23 13:02:35,817 INFO L87 Difference]: Start difference. First operand 203 states and 263 transitions. Second operand 48 states. [2018-11-23 13:02:38,744 WARN L180 SmtUtils]: Spent 509.00 ms on a formula simplification. DAG size of input: 53 DAG size of output: 20 [2018-11-23 13:02:53,134 WARN L180 SmtUtils]: Spent 5.72 s on a formula simplification. DAG size of input: 65 DAG size of output: 32 [2018-11-23 13:03:03,127 WARN L180 SmtUtils]: Spent 6.07 s on a formula simplification. DAG size of input: 74 DAG size of output: 41 [2018-11-23 13:03:13,830 WARN L180 SmtUtils]: Spent 4.30 s on a formula simplification. DAG size of input: 93 DAG size of output: 49 [2018-11-23 13:03:55,285 WARN L180 SmtUtils]: Spent 6.16 s on a formula simplification. DAG size of input: 87 DAG size of output: 51 [2018-11-23 13:04:11,244 WARN L180 SmtUtils]: Spent 6.69 s on a formula simplification. DAG size of input: 102 DAG size of output: 58