java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/sll_of_sll_nondet_append_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:21:35,480 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:21:35,482 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:21:35,495 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:21:35,496 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:21:35,498 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:21:35,499 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:21:35,502 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:21:35,504 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:21:35,505 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:21:35,508 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:21:35,508 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:21:35,509 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:21:35,511 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:21:35,512 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:21:35,519 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:21:35,520 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:21:35,524 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:21:35,531 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:21:35,532 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:21:35,536 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:21:35,537 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:21:35,540 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:21:35,540 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:21:35,541 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:21:35,542 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:21:35,543 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:21:35,550 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:21:35,551 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:21:35,552 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:21:35,553 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:21:35,554 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:21:35,554 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:21:35,554 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:21:35,558 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:21:35,558 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:21:35,559 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 11:21:35,577 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:21:35,577 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:21:35,578 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:21:35,578 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:21:35,578 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:21:35,579 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:21:35,579 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:21:35,579 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:21:35,579 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:21:35,580 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:21:35,580 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:21:35,580 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:21:35,580 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:21:35,580 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:21:35,581 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:21:35,581 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:21:35,581 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:21:35,581 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:21:35,581 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:21:35,582 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:21:35,582 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:21:35,582 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:21:35,582 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:21:35,582 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:21:35,583 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:21:35,583 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:21:35,583 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:21:35,583 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:21:35,583 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:21:35,583 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:21:35,584 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:21:35,584 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:21:35,584 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:21:35,629 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:21:35,642 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:21:35,646 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:21:35,647 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:21:35,648 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:21:35,649 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 11:21:35,710 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/112ad3740/0c3df62f59244a50a0f14013d62234e7/FLAGb037d4ac1 [2018-11-23 11:21:36,299 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:21:36,299 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 11:21:36,314 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/112ad3740/0c3df62f59244a50a0f14013d62234e7/FLAGb037d4ac1 [2018-11-23 11:21:36,519 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/112ad3740/0c3df62f59244a50a0f14013d62234e7 [2018-11-23 11:21:36,530 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:21:36,531 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:21:36,533 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:21:36,533 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:21:36,537 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:21:36,539 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:21:36" (1/1) ... [2018-11-23 11:21:36,542 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7b651c5c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:36, skipping insertion in model container [2018-11-23 11:21:36,542 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:21:36" (1/1) ... [2018-11-23 11:21:36,552 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:21:36,619 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:21:37,148 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:21:37,170 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:21:37,355 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:21:37,413 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:21:37,414 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37 WrapperNode [2018-11-23 11:21:37,414 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:21:37,415 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:21:37,415 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:21:37,416 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:21:37,426 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,449 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,459 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:21:37,459 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:21:37,460 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:21:37,460 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:21:37,469 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,470 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,475 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,476 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,505 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,515 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,519 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... [2018-11-23 11:21:37,524 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:21:37,525 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:21:37,525 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:21:37,525 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:21:37,526 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:21:37,588 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:21:37,588 INFO L130 BoogieDeclarations]: Found specification of procedure sll_length [2018-11-23 11:21:37,588 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_length [2018-11-23 11:21:37,589 INFO L130 BoogieDeclarations]: Found specification of procedure sll_hierarchical_destroy [2018-11-23 11:21:37,590 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_hierarchical_destroy [2018-11-23 11:21:37,590 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-23 11:21:37,590 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-23 11:21:37,590 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2018-11-23 11:21:37,591 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2018-11-23 11:21:37,591 INFO L130 BoogieDeclarations]: Found specification of procedure node_create_with_sublist [2018-11-23 11:21:37,591 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create_with_sublist [2018-11-23 11:21:37,591 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:21:37,591 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:21:37,593 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:21:37,593 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:21:37,594 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:21:37,594 INFO L130 BoogieDeclarations]: Found specification of procedure sll_append [2018-11-23 11:21:37,594 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_append [2018-11-23 11:21:37,594 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:21:37,594 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:21:37,595 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2018-11-23 11:21:37,595 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:21:37,595 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:21:38,886 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:21:38,886 INFO L280 CfgBuilder]: Removed 9 assue(true) statements. [2018-11-23 11:21:38,887 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:21:38 BoogieIcfgContainer [2018-11-23 11:21:38,887 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:21:38,888 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:21:38,888 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:21:38,891 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:21:38,892 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:21:36" (1/3) ... [2018-11-23 11:21:38,892 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@427598cf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:21:38, skipping insertion in model container [2018-11-23 11:21:38,893 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:21:37" (2/3) ... [2018-11-23 11:21:38,893 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@427598cf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:21:38, skipping insertion in model container [2018-11-23 11:21:38,893 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:21:38" (3/3) ... [2018-11-23 11:21:38,895 INFO L112 eAbstractionObserver]: Analyzing ICFG sll_of_sll_nondet_append_true-unreach-call_true-valid-memsafety.i [2018-11-23 11:21:38,906 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:21:38,916 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:21:38,934 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:21:38,969 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:21:38,970 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:21:38,970 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:21:38,970 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:21:38,970 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:21:38,970 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:21:38,970 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:21:38,970 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:21:38,971 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:21:38,991 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states. [2018-11-23 11:21:38,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 11:21:38,998 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:38,999 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:39,001 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:39,007 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:39,008 INFO L82 PathProgramCache]: Analyzing trace with hash -1256833600, now seen corresponding path program 1 times [2018-11-23 11:21:39,013 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:39,014 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:39,045 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:39,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:39,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:39,124 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:39,427 INFO L256 TraceCheckUtils]: 0: Hoare triple {70#true} call ULTIMATE.init(); {70#true} is VALID [2018-11-23 11:21:39,431 INFO L273 TraceCheckUtils]: 1: Hoare triple {70#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {70#true} is VALID [2018-11-23 11:21:39,432 INFO L273 TraceCheckUtils]: 2: Hoare triple {70#true} assume true; {70#true} is VALID [2018-11-23 11:21:39,433 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {70#true} {70#true} #202#return; {70#true} is VALID [2018-11-23 11:21:39,433 INFO L256 TraceCheckUtils]: 4: Hoare triple {70#true} call #t~ret25 := main(); {70#true} is VALID [2018-11-23 11:21:39,447 INFO L273 TraceCheckUtils]: 5: Hoare triple {70#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {90#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:39,451 INFO L273 TraceCheckUtils]: 6: Hoare triple {90#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !~bvsle32(~i~0, ~max~0); {71#false} is VALID [2018-11-23 11:21:39,452 INFO L273 TraceCheckUtils]: 7: Hoare triple {71#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {71#false} is VALID [2018-11-23 11:21:39,452 INFO L273 TraceCheckUtils]: 8: Hoare triple {71#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {71#false} is VALID [2018-11-23 11:21:39,453 INFO L273 TraceCheckUtils]: 9: Hoare triple {71#false} assume ~bvsgt32(~i~0, ~max~0); {71#false} is VALID [2018-11-23 11:21:39,453 INFO L273 TraceCheckUtils]: 10: Hoare triple {71#false} assume !false; {71#false} is VALID [2018-11-23 11:21:39,457 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:39,457 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:39,463 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:39,463 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:21:39,471 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2018-11-23 11:21:39,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:39,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:21:39,658 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 11:21:39,659 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:21:39,669 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:21:39,670 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:39,673 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 3 states. [2018-11-23 11:21:40,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:40,775 INFO L93 Difference]: Finished difference Result 133 states and 192 transitions. [2018-11-23 11:21:40,775 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:21:40,775 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2018-11-23 11:21:40,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:40,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:40,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 192 transitions. [2018-11-23 11:21:40,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:40,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 192 transitions. [2018-11-23 11:21:40,807 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 192 transitions. [2018-11-23 11:21:41,354 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 192 edges. 192 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:41,374 INFO L225 Difference]: With dead ends: 133 [2018-11-23 11:21:41,376 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 11:21:41,381 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:41,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 11:21:41,463 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2018-11-23 11:21:41,463 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:41,464 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 51 states. [2018-11-23 11:21:41,465 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 51 states. [2018-11-23 11:21:41,465 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 51 states. [2018-11-23 11:21:41,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:41,474 INFO L93 Difference]: Finished difference Result 55 states and 67 transitions. [2018-11-23 11:21:41,474 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2018-11-23 11:21:41,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:41,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:41,475 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 55 states. [2018-11-23 11:21:41,476 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 55 states. [2018-11-23 11:21:41,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:41,482 INFO L93 Difference]: Finished difference Result 55 states and 67 transitions. [2018-11-23 11:21:41,482 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2018-11-23 11:21:41,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:41,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:41,484 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:41,484 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:41,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 11:21:41,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 61 transitions. [2018-11-23 11:21:41,491 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 61 transitions. Word has length 11 [2018-11-23 11:21:41,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:41,491 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 61 transitions. [2018-11-23 11:21:41,491 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:21:41,491 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 61 transitions. [2018-11-23 11:21:41,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 11:21:41,492 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:41,492 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:41,493 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:41,493 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:41,493 INFO L82 PathProgramCache]: Analyzing trace with hash 1358529403, now seen corresponding path program 1 times [2018-11-23 11:21:41,494 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:41,494 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:41,511 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:41,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:41,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:41,568 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:41,657 INFO L256 TraceCheckUtils]: 0: Hoare triple {475#true} call ULTIMATE.init(); {475#true} is VALID [2018-11-23 11:21:41,657 INFO L273 TraceCheckUtils]: 1: Hoare triple {475#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {475#true} is VALID [2018-11-23 11:21:41,658 INFO L273 TraceCheckUtils]: 2: Hoare triple {475#true} assume true; {475#true} is VALID [2018-11-23 11:21:41,658 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {475#true} {475#true} #202#return; {475#true} is VALID [2018-11-23 11:21:41,659 INFO L256 TraceCheckUtils]: 4: Hoare triple {475#true} call #t~ret25 := main(); {475#true} is VALID [2018-11-23 11:21:41,675 INFO L273 TraceCheckUtils]: 5: Hoare triple {475#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {495#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:41,689 INFO L273 TraceCheckUtils]: 6: Hoare triple {495#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {495#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:41,693 INFO L273 TraceCheckUtils]: 7: Hoare triple {495#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {495#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:41,694 INFO L273 TraceCheckUtils]: 8: Hoare triple {495#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {505#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 11:21:41,698 INFO L273 TraceCheckUtils]: 9: Hoare triple {505#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} assume !~bvsle32(~i~0, ~max~0); {476#false} is VALID [2018-11-23 11:21:41,698 INFO L273 TraceCheckUtils]: 10: Hoare triple {476#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {476#false} is VALID [2018-11-23 11:21:41,698 INFO L273 TraceCheckUtils]: 11: Hoare triple {476#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {476#false} is VALID [2018-11-23 11:21:41,699 INFO L273 TraceCheckUtils]: 12: Hoare triple {476#false} assume ~bvsgt32(~i~0, ~max~0); {476#false} is VALID [2018-11-23 11:21:41,699 INFO L273 TraceCheckUtils]: 13: Hoare triple {476#false} assume !false; {476#false} is VALID [2018-11-23 11:21:41,701 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:41,701 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:41,842 INFO L273 TraceCheckUtils]: 13: Hoare triple {476#false} assume !false; {476#false} is VALID [2018-11-23 11:21:41,843 INFO L273 TraceCheckUtils]: 12: Hoare triple {476#false} assume ~bvsgt32(~i~0, ~max~0); {476#false} is VALID [2018-11-23 11:21:41,843 INFO L273 TraceCheckUtils]: 11: Hoare triple {476#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {476#false} is VALID [2018-11-23 11:21:41,844 INFO L273 TraceCheckUtils]: 10: Hoare triple {476#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {476#false} is VALID [2018-11-23 11:21:41,845 INFO L273 TraceCheckUtils]: 9: Hoare triple {533#(bvsle main_~i~0 main_~max~0)} assume !~bvsle32(~i~0, ~max~0); {476#false} is VALID [2018-11-23 11:21:41,847 INFO L273 TraceCheckUtils]: 8: Hoare triple {537#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {533#(bvsle main_~i~0 main_~max~0)} is VALID [2018-11-23 11:21:41,853 INFO L273 TraceCheckUtils]: 7: Hoare triple {537#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {537#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} is VALID [2018-11-23 11:21:41,858 INFO L273 TraceCheckUtils]: 6: Hoare triple {537#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {537#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} is VALID [2018-11-23 11:21:41,862 INFO L273 TraceCheckUtils]: 5: Hoare triple {475#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {537#(bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0)} is VALID [2018-11-23 11:21:41,862 INFO L256 TraceCheckUtils]: 4: Hoare triple {475#true} call #t~ret25 := main(); {475#true} is VALID [2018-11-23 11:21:41,862 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {475#true} {475#true} #202#return; {475#true} is VALID [2018-11-23 11:21:41,863 INFO L273 TraceCheckUtils]: 2: Hoare triple {475#true} assume true; {475#true} is VALID [2018-11-23 11:21:41,863 INFO L273 TraceCheckUtils]: 1: Hoare triple {475#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {475#true} is VALID [2018-11-23 11:21:41,863 INFO L256 TraceCheckUtils]: 0: Hoare triple {475#true} call ULTIMATE.init(); {475#true} is VALID [2018-11-23 11:21:41,864 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:41,867 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:41,867 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 11:21:41,869 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 14 [2018-11-23 11:21:41,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:41,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:21:41,904 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:41,904 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:21:41,905 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:21:41,905 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:21:41,905 INFO L87 Difference]: Start difference. First operand 51 states and 61 transitions. Second operand 6 states. [2018-11-23 11:21:42,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:42,858 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2018-11-23 11:21:42,858 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:21:42,858 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 14 [2018-11-23 11:21:42,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:42,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:21:42,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2018-11-23 11:21:42,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:21:42,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2018-11-23 11:21:42,869 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 105 transitions. [2018-11-23 11:21:43,071 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:43,075 INFO L225 Difference]: With dead ends: 84 [2018-11-23 11:21:43,076 INFO L226 Difference]: Without dead ends: 67 [2018-11-23 11:21:43,077 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:21:43,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-23 11:21:43,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2018-11-23 11:21:43,156 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:43,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 64 states. [2018-11-23 11:21:43,156 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 64 states. [2018-11-23 11:21:43,156 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 64 states. [2018-11-23 11:21:43,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:43,162 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2018-11-23 11:21:43,162 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2018-11-23 11:21:43,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:43,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:43,164 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 67 states. [2018-11-23 11:21:43,164 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 67 states. [2018-11-23 11:21:43,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:43,169 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2018-11-23 11:21:43,170 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2018-11-23 11:21:43,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:43,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:43,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:43,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:43,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2018-11-23 11:21:43,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 78 transitions. [2018-11-23 11:21:43,176 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 78 transitions. Word has length 14 [2018-11-23 11:21:43,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:43,177 INFO L480 AbstractCegarLoop]: Abstraction has 64 states and 78 transitions. [2018-11-23 11:21:43,177 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:21:43,177 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2018-11-23 11:21:43,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 11:21:43,178 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:43,178 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:43,179 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:43,179 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:43,179 INFO L82 PathProgramCache]: Analyzing trace with hash -1112412837, now seen corresponding path program 2 times [2018-11-23 11:21:43,180 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:43,180 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:43,198 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:21:43,227 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 11:21:43,228 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:21:43,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:43,244 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:43,379 INFO L256 TraceCheckUtils]: 0: Hoare triple {911#true} call ULTIMATE.init(); {911#true} is VALID [2018-11-23 11:21:43,379 INFO L273 TraceCheckUtils]: 1: Hoare triple {911#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {911#true} is VALID [2018-11-23 11:21:43,379 INFO L273 TraceCheckUtils]: 2: Hoare triple {911#true} assume true; {911#true} is VALID [2018-11-23 11:21:43,380 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {911#true} {911#true} #202#return; {911#true} is VALID [2018-11-23 11:21:43,380 INFO L256 TraceCheckUtils]: 4: Hoare triple {911#true} call #t~ret25 := main(); {911#true} is VALID [2018-11-23 11:21:43,389 INFO L273 TraceCheckUtils]: 5: Hoare triple {911#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,392 INFO L273 TraceCheckUtils]: 6: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,393 INFO L273 TraceCheckUtils]: 7: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,394 INFO L273 TraceCheckUtils]: 8: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,394 INFO L273 TraceCheckUtils]: 9: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,396 INFO L273 TraceCheckUtils]: 10: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,397 INFO L273 TraceCheckUtils]: 11: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,402 INFO L273 TraceCheckUtils]: 12: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,403 INFO L273 TraceCheckUtils]: 13: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,404 INFO L273 TraceCheckUtils]: 14: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,404 INFO L273 TraceCheckUtils]: 15: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !~bvsle32(~i~0, ~max~0); {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,405 INFO L273 TraceCheckUtils]: 16: Hoare triple {931#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~min~0 (_ bv4294967293 32)) (_ bv0 32)))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {965#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,409 INFO L273 TraceCheckUtils]: 17: Hoare triple {965#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {965#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:43,411 INFO L273 TraceCheckUtils]: 18: Hoare triple {965#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume ~bvsgt32(~i~0, ~max~0); {912#false} is VALID [2018-11-23 11:21:43,411 INFO L273 TraceCheckUtils]: 19: Hoare triple {912#false} assume !false; {912#false} is VALID [2018-11-23 11:21:43,414 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:43,414 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:43,416 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:43,417 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:21:43,417 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 20 [2018-11-23 11:21:43,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:43,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:21:43,448 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:43,448 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:21:43,449 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:21:43,449 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:21:43,449 INFO L87 Difference]: Start difference. First operand 64 states and 78 transitions. Second operand 4 states. [2018-11-23 11:21:44,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:44,073 INFO L93 Difference]: Finished difference Result 78 states and 96 transitions. [2018-11-23 11:21:44,074 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:21:44,074 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 20 [2018-11-23 11:21:44,074 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:44,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:21:44,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2018-11-23 11:21:44,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:21:44,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2018-11-23 11:21:44,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 84 transitions. [2018-11-23 11:21:44,254 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:44,258 INFO L225 Difference]: With dead ends: 78 [2018-11-23 11:21:44,259 INFO L226 Difference]: Without dead ends: 76 [2018-11-23 11:21:44,259 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:21:44,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-23 11:21:44,370 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 64. [2018-11-23 11:21:44,370 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:44,370 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 64 states. [2018-11-23 11:21:44,370 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 64 states. [2018-11-23 11:21:44,371 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 64 states. [2018-11-23 11:21:44,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:44,377 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2018-11-23 11:21:44,378 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2018-11-23 11:21:44,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:44,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:44,380 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 76 states. [2018-11-23 11:21:44,381 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 76 states. [2018-11-23 11:21:44,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:44,386 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2018-11-23 11:21:44,386 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2018-11-23 11:21:44,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:44,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:44,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:44,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:44,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2018-11-23 11:21:44,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 78 transitions. [2018-11-23 11:21:44,392 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 78 transitions. Word has length 20 [2018-11-23 11:21:44,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:44,393 INFO L480 AbstractCegarLoop]: Abstraction has 64 states and 78 transitions. [2018-11-23 11:21:44,393 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:21:44,393 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2018-11-23 11:21:44,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 11:21:44,394 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:44,395 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:44,395 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:44,395 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:44,395 INFO L82 PathProgramCache]: Analyzing trace with hash -1882493154, now seen corresponding path program 1 times [2018-11-23 11:21:44,396 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:44,396 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:44,424 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:21:44,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:44,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:44,476 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:44,596 INFO L256 TraceCheckUtils]: 0: Hoare triple {1331#true} call ULTIMATE.init(); {1331#true} is VALID [2018-11-23 11:21:44,597 INFO L273 TraceCheckUtils]: 1: Hoare triple {1331#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1331#true} is VALID [2018-11-23 11:21:44,597 INFO L273 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2018-11-23 11:21:44,598 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #202#return; {1331#true} is VALID [2018-11-23 11:21:44,598 INFO L256 TraceCheckUtils]: 4: Hoare triple {1331#true} call #t~ret25 := main(); {1331#true} is VALID [2018-11-23 11:21:44,599 INFO L273 TraceCheckUtils]: 5: Hoare triple {1331#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {1331#true} is VALID [2018-11-23 11:21:44,599 INFO L273 TraceCheckUtils]: 6: Hoare triple {1331#true} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1331#true} is VALID [2018-11-23 11:21:44,600 INFO L273 TraceCheckUtils]: 7: Hoare triple {1331#true} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1331#true} is VALID [2018-11-23 11:21:44,600 INFO L273 TraceCheckUtils]: 8: Hoare triple {1331#true} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1331#true} is VALID [2018-11-23 11:21:44,600 INFO L273 TraceCheckUtils]: 9: Hoare triple {1331#true} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1331#true} is VALID [2018-11-23 11:21:44,601 INFO L273 TraceCheckUtils]: 10: Hoare triple {1331#true} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1331#true} is VALID [2018-11-23 11:21:44,601 INFO L273 TraceCheckUtils]: 11: Hoare triple {1331#true} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1331#true} is VALID [2018-11-23 11:21:44,601 INFO L273 TraceCheckUtils]: 12: Hoare triple {1331#true} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1331#true} is VALID [2018-11-23 11:21:44,601 INFO L273 TraceCheckUtils]: 13: Hoare triple {1331#true} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1331#true} is VALID [2018-11-23 11:21:44,602 INFO L273 TraceCheckUtils]: 14: Hoare triple {1331#true} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1331#true} is VALID [2018-11-23 11:21:44,602 INFO L273 TraceCheckUtils]: 15: Hoare triple {1331#true} assume !~bvsle32(~i~0, ~max~0); {1331#true} is VALID [2018-11-23 11:21:44,602 INFO L273 TraceCheckUtils]: 16: Hoare triple {1331#true} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {1331#true} is VALID [2018-11-23 11:21:44,604 INFO L273 TraceCheckUtils]: 17: Hoare triple {1331#true} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {1387#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} is VALID [2018-11-23 11:21:44,604 INFO L273 TraceCheckUtils]: 18: Hoare triple {1387#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} assume !~bvsgt32(~i~0, ~max~0); {1387#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} is VALID [2018-11-23 11:21:44,607 INFO L273 TraceCheckUtils]: 19: Hoare triple {1387#(or (not (= (_ bv0 32) main_~ptr~0.base)) (not (= main_~ptr~0.offset (_ bv0 32))))} assume !(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32); {1332#false} is VALID [2018-11-23 11:21:44,607 INFO L273 TraceCheckUtils]: 20: Hoare triple {1332#false} #t~post19 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post19);havoc #t~post19; {1332#false} is VALID [2018-11-23 11:21:44,607 INFO L273 TraceCheckUtils]: 21: Hoare triple {1332#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {1332#false} is VALID [2018-11-23 11:21:44,607 INFO L273 TraceCheckUtils]: 22: Hoare triple {1332#false} assume ~bvsgt32(~i~0, ~max~0); {1332#false} is VALID [2018-11-23 11:21:44,608 INFO L273 TraceCheckUtils]: 23: Hoare triple {1332#false} assume !false; {1332#false} is VALID [2018-11-23 11:21:44,609 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:44,609 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:44,611 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:44,611 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:21:44,611 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 24 [2018-11-23 11:21:44,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:44,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 11:21:44,635 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:44,636 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 11:21:44,636 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:21:44,636 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:44,637 INFO L87 Difference]: Start difference. First operand 64 states and 78 transitions. Second operand 3 states. [2018-11-23 11:21:44,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:44,949 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-23 11:21:44,949 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:21:44,949 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 24 [2018-11-23 11:21:44,950 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:44,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:44,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 85 transitions. [2018-11-23 11:21:44,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 11:21:44,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 85 transitions. [2018-11-23 11:21:44,955 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 85 transitions. [2018-11-23 11:21:45,124 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:45,127 INFO L225 Difference]: With dead ends: 87 [2018-11-23 11:21:45,128 INFO L226 Difference]: Without dead ends: 68 [2018-11-23 11:21:45,128 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:21:45,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-23 11:21:45,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 65. [2018-11-23 11:21:45,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:45,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 65 states. [2018-11-23 11:21:45,352 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 65 states. [2018-11-23 11:21:45,352 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 65 states. [2018-11-23 11:21:45,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:45,357 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2018-11-23 11:21:45,357 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2018-11-23 11:21:45,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:45,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:45,358 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 68 states. [2018-11-23 11:21:45,359 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 68 states. [2018-11-23 11:21:45,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:45,362 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2018-11-23 11:21:45,363 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2018-11-23 11:21:45,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:45,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:45,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:45,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:45,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 11:21:45,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 79 transitions. [2018-11-23 11:21:45,367 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 79 transitions. Word has length 24 [2018-11-23 11:21:45,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:45,367 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 79 transitions. [2018-11-23 11:21:45,367 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 11:21:45,368 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 79 transitions. [2018-11-23 11:21:45,368 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 11:21:45,369 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:45,369 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:45,369 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:45,369 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:45,370 INFO L82 PathProgramCache]: Analyzing trace with hash 1091924975, now seen corresponding path program 1 times [2018-11-23 11:21:45,370 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:45,370 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:45,397 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:45,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:45,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:45,462 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:45,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:21:45,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:21:45,684 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,687 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,704 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 11:21:45,714 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 11:21:45,720 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,722 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,730 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:21:45,731 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:29, output treesize:7 [2018-11-23 11:21:45,735 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:21:45,736 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, |main_~#head~1.base|, |main_~#head~1.offset|, |#memory_$Pointer$.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (.cse1 (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|))) (and (= .cse0 main_~ptr~0.base) (= (_ bv0 32) .cse1) (= .cse0 (_ bv0 32)) (= main_~ptr~0.offset .cse1))) [2018-11-23 11:21:45,736 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~ptr~0.offset (_ bv0 32)) (= (_ bv0 32) main_~ptr~0.base)) [2018-11-23 11:21:45,761 INFO L256 TraceCheckUtils]: 0: Hoare triple {1760#true} call ULTIMATE.init(); {1760#true} is VALID [2018-11-23 11:21:45,761 INFO L273 TraceCheckUtils]: 1: Hoare triple {1760#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1760#true} is VALID [2018-11-23 11:21:45,762 INFO L273 TraceCheckUtils]: 2: Hoare triple {1760#true} assume true; {1760#true} is VALID [2018-11-23 11:21:45,762 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1760#true} {1760#true} #202#return; {1760#true} is VALID [2018-11-23 11:21:45,763 INFO L256 TraceCheckUtils]: 4: Hoare triple {1760#true} call #t~ret25 := main(); {1760#true} is VALID [2018-11-23 11:21:45,764 INFO L273 TraceCheckUtils]: 5: Hoare triple {1760#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,764 INFO L273 TraceCheckUtils]: 6: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,765 INFO L273 TraceCheckUtils]: 7: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,766 INFO L273 TraceCheckUtils]: 8: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,767 INFO L273 TraceCheckUtils]: 9: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,768 INFO L273 TraceCheckUtils]: 10: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,769 INFO L273 TraceCheckUtils]: 11: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,770 INFO L273 TraceCheckUtils]: 12: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,771 INFO L273 TraceCheckUtils]: 13: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,772 INFO L273 TraceCheckUtils]: 14: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,774 INFO L273 TraceCheckUtils]: 15: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} assume !~bvsle32(~i~0, ~max~0); {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} is VALID [2018-11-23 11:21:45,775 INFO L273 TraceCheckUtils]: 16: Hoare triple {1780#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|) (_ bv0 32)))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {1814#(and (= main_~ptr~0.offset (_ bv0 32)) (= (_ bv0 32) main_~ptr~0.base))} is VALID [2018-11-23 11:21:45,779 INFO L273 TraceCheckUtils]: 17: Hoare triple {1814#(and (= main_~ptr~0.offset (_ bv0 32)) (= (_ bv0 32) main_~ptr~0.base))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {1761#false} is VALID [2018-11-23 11:21:45,779 INFO L273 TraceCheckUtils]: 18: Hoare triple {1761#false} assume !~bvsgt32(~i~0, ~max~0); {1761#false} is VALID [2018-11-23 11:21:45,779 INFO L273 TraceCheckUtils]: 19: Hoare triple {1761#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {1761#false} is VALID [2018-11-23 11:21:45,780 INFO L256 TraceCheckUtils]: 20: Hoare triple {1761#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {1761#false} is VALID [2018-11-23 11:21:45,780 INFO L273 TraceCheckUtils]: 21: Hoare triple {1761#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {1761#false} is VALID [2018-11-23 11:21:45,781 INFO L273 TraceCheckUtils]: 22: Hoare triple {1761#false} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {1761#false} is VALID [2018-11-23 11:21:45,781 INFO L273 TraceCheckUtils]: 23: Hoare triple {1761#false} #res := ~len~0; {1761#false} is VALID [2018-11-23 11:21:45,781 INFO L273 TraceCheckUtils]: 24: Hoare triple {1761#false} assume true; {1761#false} is VALID [2018-11-23 11:21:45,781 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1761#false} {1761#false} #194#return; {1761#false} is VALID [2018-11-23 11:21:45,782 INFO L273 TraceCheckUtils]: 26: Hoare triple {1761#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {1761#false} is VALID [2018-11-23 11:21:45,782 INFO L273 TraceCheckUtils]: 27: Hoare triple {1761#false} assume !(~i~0 == ~count~0); {1761#false} is VALID [2018-11-23 11:21:45,782 INFO L273 TraceCheckUtils]: 28: Hoare triple {1761#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {1761#false} is VALID [2018-11-23 11:21:45,783 INFO L273 TraceCheckUtils]: 29: Hoare triple {1761#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {1761#false} is VALID [2018-11-23 11:21:45,783 INFO L273 TraceCheckUtils]: 30: Hoare triple {1761#false} assume !false; {1761#false} is VALID [2018-11-23 11:21:45,787 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 11:21:45,787 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:21:45,789 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:21:45,790 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:21:45,790 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 31 [2018-11-23 11:21:45,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:45,791 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:21:45,850 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:45,851 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:21:45,851 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:21:45,851 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:21:45,852 INFO L87 Difference]: Start difference. First operand 65 states and 79 transitions. Second operand 4 states. [2018-11-23 11:21:46,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:46,517 INFO L93 Difference]: Finished difference Result 101 states and 127 transitions. [2018-11-23 11:21:46,517 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:21:46,518 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 31 [2018-11-23 11:21:46,518 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:46,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:21:46,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 92 transitions. [2018-11-23 11:21:46,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:21:46,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 92 transitions. [2018-11-23 11:21:46,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 92 transitions. [2018-11-23 11:21:46,717 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 11:21:46,720 INFO L225 Difference]: With dead ends: 101 [2018-11-23 11:21:46,721 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 11:21:46,721 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:21:46,722 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 11:21:46,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 71. [2018-11-23 11:21:46,981 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:46,981 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 71 states. [2018-11-23 11:21:46,981 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 71 states. [2018-11-23 11:21:46,981 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 71 states. [2018-11-23 11:21:46,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:46,987 INFO L93 Difference]: Finished difference Result 77 states and 96 transitions. [2018-11-23 11:21:46,987 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 96 transitions. [2018-11-23 11:21:46,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:46,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:46,988 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 77 states. [2018-11-23 11:21:46,988 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 77 states. [2018-11-23 11:21:46,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:46,993 INFO L93 Difference]: Finished difference Result 77 states and 96 transitions. [2018-11-23 11:21:46,993 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 96 transitions. [2018-11-23 11:21:46,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:46,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:46,994 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:46,994 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:46,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 11:21:46,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 87 transitions. [2018-11-23 11:21:46,998 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 87 transitions. Word has length 31 [2018-11-23 11:21:46,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:46,998 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 87 transitions. [2018-11-23 11:21:46,998 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:21:46,999 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 87 transitions. [2018-11-23 11:21:47,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2018-11-23 11:21:47,000 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:47,000 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:47,001 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:47,001 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:47,001 INFO L82 PathProgramCache]: Analyzing trace with hash -35370188, now seen corresponding path program 1 times [2018-11-23 11:21:47,002 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:47,002 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:47,057 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:47,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:47,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:47,170 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:47,384 INFO L256 TraceCheckUtils]: 0: Hoare triple {2265#true} call ULTIMATE.init(); {2265#true} is VALID [2018-11-23 11:21:47,384 INFO L273 TraceCheckUtils]: 1: Hoare triple {2265#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2265#true} is VALID [2018-11-23 11:21:47,385 INFO L273 TraceCheckUtils]: 2: Hoare triple {2265#true} assume true; {2265#true} is VALID [2018-11-23 11:21:47,385 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2265#true} {2265#true} #202#return; {2265#true} is VALID [2018-11-23 11:21:47,385 INFO L256 TraceCheckUtils]: 4: Hoare triple {2265#true} call #t~ret25 := main(); {2265#true} is VALID [2018-11-23 11:21:47,387 INFO L273 TraceCheckUtils]: 5: Hoare triple {2265#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {2285#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:47,387 INFO L273 TraceCheckUtils]: 6: Hoare triple {2285#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2285#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:47,402 INFO L273 TraceCheckUtils]: 7: Hoare triple {2285#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2285#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:47,405 INFO L273 TraceCheckUtils]: 8: Hoare triple {2285#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2295#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:47,405 INFO L273 TraceCheckUtils]: 9: Hoare triple {2295#(= (_ bv4 32) main_~i~0)} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2295#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:47,407 INFO L273 TraceCheckUtils]: 10: Hoare triple {2295#(= (_ bv4 32) main_~i~0)} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2295#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:47,407 INFO L273 TraceCheckUtils]: 11: Hoare triple {2295#(= (_ bv4 32) main_~i~0)} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:47,408 INFO L273 TraceCheckUtils]: 12: Hoare triple {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:47,408 INFO L273 TraceCheckUtils]: 13: Hoare triple {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:47,409 INFO L256 TraceCheckUtils]: 14: Hoare triple {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {2265#true} is VALID [2018-11-23 11:21:47,412 INFO L273 TraceCheckUtils]: 15: Hoare triple {2265#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {2318#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 11:21:47,412 INFO L256 TraceCheckUtils]: 16: Hoare triple {2318#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {2265#true} is VALID [2018-11-23 11:21:47,413 INFO L273 TraceCheckUtils]: 17: Hoare triple {2265#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {2325#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:47,414 INFO L273 TraceCheckUtils]: 18: Hoare triple {2325#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {2325#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:47,414 INFO L256 TraceCheckUtils]: 19: Hoare triple {2325#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {2265#true} is VALID [2018-11-23 11:21:47,414 INFO L273 TraceCheckUtils]: 20: Hoare triple {2265#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2335#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:47,415 INFO L273 TraceCheckUtils]: 21: Hoare triple {2335#(= |sll_create_#in~len| sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,415 INFO L273 TraceCheckUtils]: 22: Hoare triple {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,416 INFO L273 TraceCheckUtils]: 23: Hoare triple {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} assume true; {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,417 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} {2325#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #208#return; {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,418 INFO L273 TraceCheckUtils]: 25: Hoare triple {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,418 INFO L273 TraceCheckUtils]: 26: Hoare triple {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} assume true; {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,420 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} {2318#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #198#return; {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,421 INFO L273 TraceCheckUtils]: 28: Hoare triple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,421 INFO L273 TraceCheckUtils]: 29: Hoare triple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,422 INFO L273 TraceCheckUtils]: 30: Hoare triple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume true; {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:47,423 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} {2305#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} #192#return; {2266#false} is VALID [2018-11-23 11:21:47,424 INFO L273 TraceCheckUtils]: 32: Hoare triple {2266#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {2266#false} is VALID [2018-11-23 11:21:47,424 INFO L273 TraceCheckUtils]: 33: Hoare triple {2266#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2266#false} is VALID [2018-11-23 11:21:47,424 INFO L273 TraceCheckUtils]: 34: Hoare triple {2266#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2266#false} is VALID [2018-11-23 11:21:47,424 INFO L273 TraceCheckUtils]: 35: Hoare triple {2266#false} assume !~bvsle32(~i~0, ~max~0); {2266#false} is VALID [2018-11-23 11:21:47,425 INFO L273 TraceCheckUtils]: 36: Hoare triple {2266#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {2266#false} is VALID [2018-11-23 11:21:47,425 INFO L273 TraceCheckUtils]: 37: Hoare triple {2266#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {2266#false} is VALID [2018-11-23 11:21:47,425 INFO L273 TraceCheckUtils]: 38: Hoare triple {2266#false} assume !~bvsgt32(~i~0, ~max~0); {2266#false} is VALID [2018-11-23 11:21:47,425 INFO L273 TraceCheckUtils]: 39: Hoare triple {2266#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {2266#false} is VALID [2018-11-23 11:21:47,426 INFO L256 TraceCheckUtils]: 40: Hoare triple {2266#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {2266#false} is VALID [2018-11-23 11:21:47,426 INFO L273 TraceCheckUtils]: 41: Hoare triple {2266#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {2266#false} is VALID [2018-11-23 11:21:47,426 INFO L273 TraceCheckUtils]: 42: Hoare triple {2266#false} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {2266#false} is VALID [2018-11-23 11:21:47,426 INFO L273 TraceCheckUtils]: 43: Hoare triple {2266#false} #res := ~len~0; {2266#false} is VALID [2018-11-23 11:21:47,426 INFO L273 TraceCheckUtils]: 44: Hoare triple {2266#false} assume true; {2266#false} is VALID [2018-11-23 11:21:47,426 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {2266#false} {2266#false} #194#return; {2266#false} is VALID [2018-11-23 11:21:47,427 INFO L273 TraceCheckUtils]: 46: Hoare triple {2266#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {2266#false} is VALID [2018-11-23 11:21:47,427 INFO L273 TraceCheckUtils]: 47: Hoare triple {2266#false} assume !(~i~0 == ~count~0); {2266#false} is VALID [2018-11-23 11:21:47,427 INFO L273 TraceCheckUtils]: 48: Hoare triple {2266#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {2266#false} is VALID [2018-11-23 11:21:47,427 INFO L273 TraceCheckUtils]: 49: Hoare triple {2266#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {2266#false} is VALID [2018-11-23 11:21:47,427 INFO L273 TraceCheckUtils]: 50: Hoare triple {2266#false} assume !false; {2266#false} is VALID [2018-11-23 11:21:47,431 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 8 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:47,431 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:48,118 INFO L273 TraceCheckUtils]: 50: Hoare triple {2266#false} assume !false; {2266#false} is VALID [2018-11-23 11:21:48,119 INFO L273 TraceCheckUtils]: 49: Hoare triple {2266#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {2266#false} is VALID [2018-11-23 11:21:48,119 INFO L273 TraceCheckUtils]: 48: Hoare triple {2266#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {2266#false} is VALID [2018-11-23 11:21:48,119 INFO L273 TraceCheckUtils]: 47: Hoare triple {2266#false} assume !(~i~0 == ~count~0); {2266#false} is VALID [2018-11-23 11:21:48,120 INFO L273 TraceCheckUtils]: 46: Hoare triple {2266#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {2266#false} is VALID [2018-11-23 11:21:48,120 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {2265#true} {2266#false} #194#return; {2266#false} is VALID [2018-11-23 11:21:48,120 INFO L273 TraceCheckUtils]: 44: Hoare triple {2265#true} assume true; {2265#true} is VALID [2018-11-23 11:21:48,120 INFO L273 TraceCheckUtils]: 43: Hoare triple {2265#true} #res := ~len~0; {2265#true} is VALID [2018-11-23 11:21:48,120 INFO L273 TraceCheckUtils]: 42: Hoare triple {2265#true} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {2265#true} is VALID [2018-11-23 11:21:48,121 INFO L273 TraceCheckUtils]: 41: Hoare triple {2265#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {2265#true} is VALID [2018-11-23 11:21:48,121 INFO L256 TraceCheckUtils]: 40: Hoare triple {2266#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {2265#true} is VALID [2018-11-23 11:21:48,121 INFO L273 TraceCheckUtils]: 39: Hoare triple {2266#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {2266#false} is VALID [2018-11-23 11:21:48,121 INFO L273 TraceCheckUtils]: 38: Hoare triple {2266#false} assume !~bvsgt32(~i~0, ~max~0); {2266#false} is VALID [2018-11-23 11:21:48,121 INFO L273 TraceCheckUtils]: 37: Hoare triple {2266#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {2266#false} is VALID [2018-11-23 11:21:48,122 INFO L273 TraceCheckUtils]: 36: Hoare triple {2266#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {2266#false} is VALID [2018-11-23 11:21:48,122 INFO L273 TraceCheckUtils]: 35: Hoare triple {2266#false} assume !~bvsle32(~i~0, ~max~0); {2266#false} is VALID [2018-11-23 11:21:48,122 INFO L273 TraceCheckUtils]: 34: Hoare triple {2266#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2266#false} is VALID [2018-11-23 11:21:48,122 INFO L273 TraceCheckUtils]: 33: Hoare triple {2266#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2266#false} is VALID [2018-11-23 11:21:48,122 INFO L273 TraceCheckUtils]: 32: Hoare triple {2266#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {2266#false} is VALID [2018-11-23 11:21:48,123 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} {2486#(bvsgt main_~i~0 (_ bv0 32))} #192#return; {2266#false} is VALID [2018-11-23 11:21:48,124 INFO L273 TraceCheckUtils]: 30: Hoare triple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume true; {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,124 INFO L273 TraceCheckUtils]: 29: Hoare triple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,143 INFO L273 TraceCheckUtils]: 28: Hoare triple {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,158 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} {2502#(or (bvsgt sll_append_~sublist_length (_ bv0 32)) (not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32))))} #198#return; {2359#(not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,172 INFO L273 TraceCheckUtils]: 26: Hoare triple {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} assume true; {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,176 INFO L273 TraceCheckUtils]: 25: Hoare triple {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,178 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} {2515#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} #208#return; {2349#(not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,182 INFO L273 TraceCheckUtils]: 23: Hoare triple {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} assume true; {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,182 INFO L273 TraceCheckUtils]: 22: Hoare triple {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,183 INFO L273 TraceCheckUtils]: 21: Hoare triple {2528#(or (not (bvsgt |sll_create_#in~len| (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} assume !~bvsgt32(~len, 0bv32); {2339#(not (bvsgt |sll_create_#in~len| (_ bv0 32)))} is VALID [2018-11-23 11:21:48,183 INFO L273 TraceCheckUtils]: 20: Hoare triple {2265#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2528#(or (not (bvsgt |sll_create_#in~len| (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} is VALID [2018-11-23 11:21:48,184 INFO L256 TraceCheckUtils]: 19: Hoare triple {2515#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {2265#true} is VALID [2018-11-23 11:21:48,184 INFO L273 TraceCheckUtils]: 18: Hoare triple {2515#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {2515#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} is VALID [2018-11-23 11:21:48,185 INFO L273 TraceCheckUtils]: 17: Hoare triple {2265#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {2515#(or (not (bvsgt |node_create_with_sublist_#in~sublist_length| (_ bv0 32))) (bvsgt node_create_with_sublist_~sublist_length (_ bv0 32)))} is VALID [2018-11-23 11:21:48,185 INFO L256 TraceCheckUtils]: 16: Hoare triple {2502#(or (bvsgt sll_append_~sublist_length (_ bv0 32)) (not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32))))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {2265#true} is VALID [2018-11-23 11:21:48,186 INFO L273 TraceCheckUtils]: 15: Hoare triple {2265#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {2502#(or (bvsgt sll_append_~sublist_length (_ bv0 32)) (not (bvsgt |sll_append_#in~sublist_length| (_ bv0 32))))} is VALID [2018-11-23 11:21:48,186 INFO L256 TraceCheckUtils]: 14: Hoare triple {2486#(bvsgt main_~i~0 (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {2265#true} is VALID [2018-11-23 11:21:48,195 INFO L273 TraceCheckUtils]: 13: Hoare triple {2486#(bvsgt main_~i~0 (_ bv0 32))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2486#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:48,196 INFO L273 TraceCheckUtils]: 12: Hoare triple {2486#(bvsgt main_~i~0 (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2486#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:48,197 INFO L273 TraceCheckUtils]: 11: Hoare triple {2550#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2486#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:48,197 INFO L273 TraceCheckUtils]: 10: Hoare triple {2550#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2550#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:48,198 INFO L273 TraceCheckUtils]: 9: Hoare triple {2550#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2550#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:48,200 INFO L273 TraceCheckUtils]: 8: Hoare triple {2560#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {2550#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:48,205 INFO L273 TraceCheckUtils]: 7: Hoare triple {2560#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {2560#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:48,205 INFO L273 TraceCheckUtils]: 6: Hoare triple {2560#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {2560#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:48,206 INFO L273 TraceCheckUtils]: 5: Hoare triple {2265#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {2560#(bvsgt (bvadd main_~i~0 (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:48,206 INFO L256 TraceCheckUtils]: 4: Hoare triple {2265#true} call #t~ret25 := main(); {2265#true} is VALID [2018-11-23 11:21:48,206 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2265#true} {2265#true} #202#return; {2265#true} is VALID [2018-11-23 11:21:48,207 INFO L273 TraceCheckUtils]: 2: Hoare triple {2265#true} assume true; {2265#true} is VALID [2018-11-23 11:21:48,207 INFO L273 TraceCheckUtils]: 1: Hoare triple {2265#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2265#true} is VALID [2018-11-23 11:21:48,207 INFO L256 TraceCheckUtils]: 0: Hoare triple {2265#true} call ULTIMATE.init(); {2265#true} is VALID [2018-11-23 11:21:48,210 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 8 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:48,214 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:48,214 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2018-11-23 11:21:48,215 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 51 [2018-11-23 11:21:48,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:48,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 11:21:48,341 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:48,341 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 11:21:48,342 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 11:21:48,342 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=226, Unknown=0, NotChecked=0, Total=272 [2018-11-23 11:21:48,343 INFO L87 Difference]: Start difference. First operand 71 states and 87 transitions. Second operand 17 states. [2018-11-23 11:21:51,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:51,806 INFO L93 Difference]: Finished difference Result 220 states and 285 transitions. [2018-11-23 11:21:51,806 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 11:21:51,806 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 51 [2018-11-23 11:21:51,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:21:51,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:21:51,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 241 transitions. [2018-11-23 11:21:51,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 11:21:51,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 241 transitions. [2018-11-23 11:21:51,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 241 transitions. [2018-11-23 11:21:52,256 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 241 edges. 241 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:21:52,265 INFO L225 Difference]: With dead ends: 220 [2018-11-23 11:21:52,265 INFO L226 Difference]: Without dead ends: 163 [2018-11-23 11:21:52,266 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=77, Invalid=385, Unknown=0, NotChecked=0, Total=462 [2018-11-23 11:21:52,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-11-23 11:21:52,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 120. [2018-11-23 11:21:52,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:21:52,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 120 states. [2018-11-23 11:21:52,475 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 120 states. [2018-11-23 11:21:52,475 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 120 states. [2018-11-23 11:21:52,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:52,483 INFO L93 Difference]: Finished difference Result 163 states and 208 transitions. [2018-11-23 11:21:52,483 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 208 transitions. [2018-11-23 11:21:52,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:52,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:52,484 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 163 states. [2018-11-23 11:21:52,484 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 163 states. [2018-11-23 11:21:52,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:21:52,492 INFO L93 Difference]: Finished difference Result 163 states and 208 transitions. [2018-11-23 11:21:52,492 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 208 transitions. [2018-11-23 11:21:52,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:21:52,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:21:52,493 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:21:52,493 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:21:52,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2018-11-23 11:21:52,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 156 transitions. [2018-11-23 11:21:52,498 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 156 transitions. Word has length 51 [2018-11-23 11:21:52,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:21:52,499 INFO L480 AbstractCegarLoop]: Abstraction has 120 states and 156 transitions. [2018-11-23 11:21:52,499 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 11:21:52,499 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 156 transitions. [2018-11-23 11:21:52,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 11:21:52,501 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:21:52,501 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:21:52,501 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:21:52,502 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:21:52,502 INFO L82 PathProgramCache]: Analyzing trace with hash -1058492049, now seen corresponding path program 1 times [2018-11-23 11:21:52,502 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:21:52,502 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:21:52,521 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:21:52,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:52,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:21:52,653 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:21:53,050 INFO L256 TraceCheckUtils]: 0: Hoare triple {3411#true} call ULTIMATE.init(); {3411#true} is VALID [2018-11-23 11:21:53,050 INFO L273 TraceCheckUtils]: 1: Hoare triple {3411#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3411#true} is VALID [2018-11-23 11:21:53,050 INFO L273 TraceCheckUtils]: 2: Hoare triple {3411#true} assume true; {3411#true} is VALID [2018-11-23 11:21:53,051 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3411#true} {3411#true} #202#return; {3411#true} is VALID [2018-11-23 11:21:53,051 INFO L256 TraceCheckUtils]: 4: Hoare triple {3411#true} call #t~ret25 := main(); {3411#true} is VALID [2018-11-23 11:21:53,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {3411#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {3431#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,053 INFO L273 TraceCheckUtils]: 6: Hoare triple {3431#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3431#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,053 INFO L273 TraceCheckUtils]: 7: Hoare triple {3431#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3431#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,054 INFO L273 TraceCheckUtils]: 8: Hoare triple {3431#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3441#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:53,055 INFO L273 TraceCheckUtils]: 9: Hoare triple {3441#(= (_ bv4 32) main_~i~0)} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3441#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:53,056 INFO L273 TraceCheckUtils]: 10: Hoare triple {3441#(= (_ bv4 32) main_~i~0)} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3441#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 11:21:53,057 INFO L273 TraceCheckUtils]: 11: Hoare triple {3441#(= (_ bv4 32) main_~i~0)} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,057 INFO L273 TraceCheckUtils]: 12: Hoare triple {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,058 INFO L273 TraceCheckUtils]: 13: Hoare triple {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,058 INFO L256 TraceCheckUtils]: 14: Hoare triple {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {3411#true} is VALID [2018-11-23 11:21:53,062 INFO L273 TraceCheckUtils]: 15: Hoare triple {3411#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {3464#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} is VALID [2018-11-23 11:21:53,062 INFO L256 TraceCheckUtils]: 16: Hoare triple {3464#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {3411#true} is VALID [2018-11-23 11:21:53,063 INFO L273 TraceCheckUtils]: 17: Hoare triple {3411#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {3471#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:53,063 INFO L273 TraceCheckUtils]: 18: Hoare triple {3471#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {3471#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} is VALID [2018-11-23 11:21:53,063 INFO L256 TraceCheckUtils]: 19: Hoare triple {3471#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {3411#true} is VALID [2018-11-23 11:21:53,063 INFO L273 TraceCheckUtils]: 20: Hoare triple {3411#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3481#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:53,064 INFO L273 TraceCheckUtils]: 21: Hoare triple {3481#(= |sll_create_#in~len| sll_create_~len)} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3481#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:53,064 INFO L273 TraceCheckUtils]: 22: Hoare triple {3481#(= |sll_create_#in~len| sll_create_~len)} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3481#(= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-23 11:21:53,065 INFO L273 TraceCheckUtils]: 23: Hoare triple {3481#(= |sll_create_#in~len| sll_create_~len)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3491#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} is VALID [2018-11-23 11:21:53,069 INFO L273 TraceCheckUtils]: 24: Hoare triple {3491#(= (bvadd |sll_create_#in~len| (_ bv4294967295 32)) sll_create_~len)} assume !~bvsgt32(~len, 0bv32); {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,069 INFO L273 TraceCheckUtils]: 25: Hoare triple {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,070 INFO L273 TraceCheckUtils]: 26: Hoare triple {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,071 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} {3471#(= |node_create_with_sublist_#in~sublist_length| node_create_with_sublist_~sublist_length)} #208#return; {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,071 INFO L273 TraceCheckUtils]: 28: Hoare triple {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,072 INFO L273 TraceCheckUtils]: 29: Hoare triple {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,075 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {3464#(= |sll_append_#in~sublist_length| sll_append_~sublist_length)} #198#return; {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,075 INFO L273 TraceCheckUtils]: 31: Hoare triple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,076 INFO L273 TraceCheckUtils]: 32: Hoare triple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,078 INFO L273 TraceCheckUtils]: 33: Hoare triple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,079 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {3451#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} #192#return; {3412#false} is VALID [2018-11-23 11:21:53,079 INFO L273 TraceCheckUtils]: 35: Hoare triple {3412#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {3412#false} is VALID [2018-11-23 11:21:53,079 INFO L273 TraceCheckUtils]: 36: Hoare triple {3412#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3412#false} is VALID [2018-11-23 11:21:53,080 INFO L273 TraceCheckUtils]: 37: Hoare triple {3412#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3412#false} is VALID [2018-11-23 11:21:53,080 INFO L273 TraceCheckUtils]: 38: Hoare triple {3412#false} assume !~bvsle32(~i~0, ~max~0); {3412#false} is VALID [2018-11-23 11:21:53,080 INFO L273 TraceCheckUtils]: 39: Hoare triple {3412#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {3412#false} is VALID [2018-11-23 11:21:53,081 INFO L273 TraceCheckUtils]: 40: Hoare triple {3412#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {3412#false} is VALID [2018-11-23 11:21:53,081 INFO L273 TraceCheckUtils]: 41: Hoare triple {3412#false} assume !~bvsgt32(~i~0, ~max~0); {3412#false} is VALID [2018-11-23 11:21:53,082 INFO L273 TraceCheckUtils]: 42: Hoare triple {3412#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {3412#false} is VALID [2018-11-23 11:21:53,082 INFO L256 TraceCheckUtils]: 43: Hoare triple {3412#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {3412#false} is VALID [2018-11-23 11:21:53,082 INFO L273 TraceCheckUtils]: 44: Hoare triple {3412#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {3412#false} is VALID [2018-11-23 11:21:53,083 INFO L273 TraceCheckUtils]: 45: Hoare triple {3412#false} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {3412#false} is VALID [2018-11-23 11:21:53,083 INFO L273 TraceCheckUtils]: 46: Hoare triple {3412#false} #res := ~len~0; {3412#false} is VALID [2018-11-23 11:21:53,083 INFO L273 TraceCheckUtils]: 47: Hoare triple {3412#false} assume true; {3412#false} is VALID [2018-11-23 11:21:53,083 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3412#false} {3412#false} #194#return; {3412#false} is VALID [2018-11-23 11:21:53,083 INFO L273 TraceCheckUtils]: 49: Hoare triple {3412#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {3412#false} is VALID [2018-11-23 11:21:53,083 INFO L273 TraceCheckUtils]: 50: Hoare triple {3412#false} assume !(~i~0 == ~count~0); {3412#false} is VALID [2018-11-23 11:21:53,084 INFO L273 TraceCheckUtils]: 51: Hoare triple {3412#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {3412#false} is VALID [2018-11-23 11:21:53,084 INFO L273 TraceCheckUtils]: 52: Hoare triple {3412#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {3412#false} is VALID [2018-11-23 11:21:53,084 INFO L273 TraceCheckUtils]: 53: Hoare triple {3412#false} assume !false; {3412#false} is VALID [2018-11-23 11:21:53,087 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:53,087 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:21:53,926 INFO L273 TraceCheckUtils]: 53: Hoare triple {3412#false} assume !false; {3412#false} is VALID [2018-11-23 11:21:53,926 INFO L273 TraceCheckUtils]: 52: Hoare triple {3412#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {3412#false} is VALID [2018-11-23 11:21:53,927 INFO L273 TraceCheckUtils]: 51: Hoare triple {3412#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {3412#false} is VALID [2018-11-23 11:21:53,927 INFO L273 TraceCheckUtils]: 50: Hoare triple {3412#false} assume !(~i~0 == ~count~0); {3412#false} is VALID [2018-11-23 11:21:53,927 INFO L273 TraceCheckUtils]: 49: Hoare triple {3412#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {3412#false} is VALID [2018-11-23 11:21:53,927 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {3411#true} {3412#false} #194#return; {3412#false} is VALID [2018-11-23 11:21:53,927 INFO L273 TraceCheckUtils]: 47: Hoare triple {3411#true} assume true; {3411#true} is VALID [2018-11-23 11:21:53,928 INFO L273 TraceCheckUtils]: 46: Hoare triple {3411#true} #res := ~len~0; {3411#true} is VALID [2018-11-23 11:21:53,928 INFO L273 TraceCheckUtils]: 45: Hoare triple {3411#true} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {3411#true} is VALID [2018-11-23 11:21:53,928 INFO L273 TraceCheckUtils]: 44: Hoare triple {3411#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {3411#true} is VALID [2018-11-23 11:21:53,928 INFO L256 TraceCheckUtils]: 43: Hoare triple {3412#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {3411#true} is VALID [2018-11-23 11:21:53,928 INFO L273 TraceCheckUtils]: 42: Hoare triple {3412#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {3412#false} is VALID [2018-11-23 11:21:53,928 INFO L273 TraceCheckUtils]: 41: Hoare triple {3412#false} assume !~bvsgt32(~i~0, ~max~0); {3412#false} is VALID [2018-11-23 11:21:53,929 INFO L273 TraceCheckUtils]: 40: Hoare triple {3412#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {3412#false} is VALID [2018-11-23 11:21:53,929 INFO L273 TraceCheckUtils]: 39: Hoare triple {3412#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {3412#false} is VALID [2018-11-23 11:21:53,929 INFO L273 TraceCheckUtils]: 38: Hoare triple {3412#false} assume !~bvsle32(~i~0, ~max~0); {3412#false} is VALID [2018-11-23 11:21:53,929 INFO L273 TraceCheckUtils]: 37: Hoare triple {3412#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3412#false} is VALID [2018-11-23 11:21:53,929 INFO L273 TraceCheckUtils]: 36: Hoare triple {3412#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3412#false} is VALID [2018-11-23 11:21:53,929 INFO L273 TraceCheckUtils]: 35: Hoare triple {3412#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {3412#false} is VALID [2018-11-23 11:21:53,930 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #192#return; {3412#false} is VALID [2018-11-23 11:21:53,931 INFO L273 TraceCheckUtils]: 33: Hoare triple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,931 INFO L273 TraceCheckUtils]: 32: Hoare triple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,932 INFO L273 TraceCheckUtils]: 31: Hoare triple {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,933 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} {3658#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))))} #198#return; {3515#(not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,934 INFO L273 TraceCheckUtils]: 29: Hoare triple {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,935 INFO L273 TraceCheckUtils]: 28: Hoare triple {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,944 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} {3671#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} #208#return; {3505#(not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,944 INFO L273 TraceCheckUtils]: 26: Hoare triple {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} assume true; {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,945 INFO L273 TraceCheckUtils]: 25: Hoare triple {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,945 INFO L273 TraceCheckUtils]: 24: Hoare triple {3684#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} assume !~bvsgt32(~len, 0bv32); {3495#(not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,950 INFO L273 TraceCheckUtils]: 23: Hoare triple {3688#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {3684#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt sll_create_~len (_ bv0 32)))} is VALID [2018-11-23 11:21:53,951 INFO L273 TraceCheckUtils]: 22: Hoare triple {3688#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {3688#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,951 INFO L273 TraceCheckUtils]: 21: Hoare triple {3688#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3688#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,952 INFO L273 TraceCheckUtils]: 20: Hoare triple {3411#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3688#(or (not (bvsgt (bvadd |sll_create_#in~len| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd sll_create_~len (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,952 INFO L256 TraceCheckUtils]: 19: Hoare triple {3671#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {3411#true} is VALID [2018-11-23 11:21:53,952 INFO L273 TraceCheckUtils]: 18: Hoare triple {3671#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {3671#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,953 INFO L273 TraceCheckUtils]: 17: Hoare triple {3411#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {3671#(or (not (bvsgt (bvadd |node_create_with_sublist_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))) (bvsgt (bvadd node_create_with_sublist_~sublist_length (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 11:21:53,953 INFO L256 TraceCheckUtils]: 16: Hoare triple {3658#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {3411#true} is VALID [2018-11-23 11:21:53,962 INFO L273 TraceCheckUtils]: 15: Hoare triple {3411#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {3658#(or (bvsgt (bvadd sll_append_~sublist_length (_ bv4294967295 32)) (_ bv0 32)) (not (bvsgt (bvadd |sll_append_#in~sublist_length| (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2018-11-23 11:21:53,963 INFO L256 TraceCheckUtils]: 14: Hoare triple {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {3411#true} is VALID [2018-11-23 11:21:53,963 INFO L273 TraceCheckUtils]: 13: Hoare triple {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,964 INFO L273 TraceCheckUtils]: 12: Hoare triple {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,966 INFO L273 TraceCheckUtils]: 11: Hoare triple {3716#(bvsgt main_~i~0 (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3642#(bvsgt (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,966 INFO L273 TraceCheckUtils]: 10: Hoare triple {3716#(bvsgt main_~i~0 (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3716#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:53,967 INFO L273 TraceCheckUtils]: 9: Hoare triple {3716#(bvsgt main_~i~0 (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3716#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:53,968 INFO L273 TraceCheckUtils]: 8: Hoare triple {3726#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {3716#(bvsgt main_~i~0 (_ bv0 32))} is VALID [2018-11-23 11:21:53,968 INFO L273 TraceCheckUtils]: 7: Hoare triple {3726#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {3726#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,970 INFO L273 TraceCheckUtils]: 6: Hoare triple {3726#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {3726#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,971 INFO L273 TraceCheckUtils]: 5: Hoare triple {3411#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {3726#(bvsgt (bvadd main_~i~0 (_ bv1 32)) (_ bv0 32))} is VALID [2018-11-23 11:21:53,971 INFO L256 TraceCheckUtils]: 4: Hoare triple {3411#true} call #t~ret25 := main(); {3411#true} is VALID [2018-11-23 11:21:53,971 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3411#true} {3411#true} #202#return; {3411#true} is VALID [2018-11-23 11:21:53,971 INFO L273 TraceCheckUtils]: 2: Hoare triple {3411#true} assume true; {3411#true} is VALID [2018-11-23 11:21:53,972 INFO L273 TraceCheckUtils]: 1: Hoare triple {3411#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3411#true} is VALID [2018-11-23 11:21:53,972 INFO L256 TraceCheckUtils]: 0: Hoare triple {3411#true} call ULTIMATE.init(); {3411#true} is VALID [2018-11-23 11:21:53,975 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:21:53,977 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:21:53,977 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2018-11-23 11:21:53,978 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 54 [2018-11-23 11:21:53,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:21:53,981 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 11:21:54,108 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 11:21:54,108 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 11:21:54,108 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 11:21:54,109 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=290, Unknown=0, NotChecked=0, Total=342 [2018-11-23 11:21:54,109 INFO L87 Difference]: Start difference. First operand 120 states and 156 transitions. Second operand 19 states. [2018-11-23 11:22:00,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:00,156 INFO L93 Difference]: Finished difference Result 261 states and 341 transitions. [2018-11-23 11:22:00,156 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 11:22:00,156 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 54 [2018-11-23 11:22:00,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:00,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 11:22:00,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 232 transitions. [2018-11-23 11:22:00,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 11:22:00,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 232 transitions. [2018-11-23 11:22:00,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 232 transitions. [2018-11-23 11:22:00,534 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:00,540 INFO L225 Difference]: With dead ends: 261 [2018-11-23 11:22:00,540 INFO L226 Difference]: Without dead ends: 167 [2018-11-23 11:22:00,541 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=89, Invalid=511, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:22:00,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 167 states. [2018-11-23 11:22:00,777 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 167 to 123. [2018-11-23 11:22:00,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:00,777 INFO L82 GeneralOperation]: Start isEquivalent. First operand 167 states. Second operand 123 states. [2018-11-23 11:22:00,777 INFO L74 IsIncluded]: Start isIncluded. First operand 167 states. Second operand 123 states. [2018-11-23 11:22:00,777 INFO L87 Difference]: Start difference. First operand 167 states. Second operand 123 states. [2018-11-23 11:22:00,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:00,784 INFO L93 Difference]: Finished difference Result 167 states and 212 transitions. [2018-11-23 11:22:00,784 INFO L276 IsEmpty]: Start isEmpty. Operand 167 states and 212 transitions. [2018-11-23 11:22:00,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:00,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:00,786 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 167 states. [2018-11-23 11:22:00,786 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 167 states. [2018-11-23 11:22:00,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:00,793 INFO L93 Difference]: Finished difference Result 167 states and 212 transitions. [2018-11-23 11:22:00,793 INFO L276 IsEmpty]: Start isEmpty. Operand 167 states and 212 transitions. [2018-11-23 11:22:00,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:00,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:00,794 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:00,794 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:00,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-11-23 11:22:00,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 160 transitions. [2018-11-23 11:22:00,800 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 160 transitions. Word has length 54 [2018-11-23 11:22:00,800 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:00,800 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 160 transitions. [2018-11-23 11:22:00,800 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 11:22:00,800 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 160 transitions. [2018-11-23 11:22:00,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2018-11-23 11:22:00,801 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:00,802 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 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] [2018-11-23 11:22:00,802 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:00,802 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:00,802 INFO L82 PathProgramCache]: Analyzing trace with hash 1949927284, now seen corresponding path program 2 times [2018-11-23 11:22:00,803 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:00,803 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:22:00,828 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:22:00,990 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:22:00,990 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:22:01,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:01,058 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:01,677 INFO L256 TraceCheckUtils]: 0: Hoare triple {4645#true} call ULTIMATE.init(); {4645#true} is VALID [2018-11-23 11:22:01,677 INFO L273 TraceCheckUtils]: 1: Hoare triple {4645#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4645#true} is VALID [2018-11-23 11:22:01,677 INFO L273 TraceCheckUtils]: 2: Hoare triple {4645#true} assume true; {4645#true} is VALID [2018-11-23 11:22:01,678 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4645#true} {4645#true} #202#return; {4645#true} is VALID [2018-11-23 11:22:01,678 INFO L256 TraceCheckUtils]: 4: Hoare triple {4645#true} call #t~ret25 := main(); {4645#true} is VALID [2018-11-23 11:22:01,688 INFO L273 TraceCheckUtils]: 5: Hoare triple {4645#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {4665#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:01,689 INFO L273 TraceCheckUtils]: 6: Hoare triple {4665#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4665#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:01,689 INFO L273 TraceCheckUtils]: 7: Hoare triple {4665#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4665#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:01,690 INFO L273 TraceCheckUtils]: 8: Hoare triple {4665#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4675#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 11:22:01,690 INFO L273 TraceCheckUtils]: 9: Hoare triple {4675#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4675#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 11:22:01,691 INFO L273 TraceCheckUtils]: 10: Hoare triple {4675#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4675#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 11:22:01,691 INFO L273 TraceCheckUtils]: 11: Hoare triple {4675#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4685#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:01,692 INFO L273 TraceCheckUtils]: 12: Hoare triple {4685#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4685#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:01,693 INFO L273 TraceCheckUtils]: 13: Hoare triple {4685#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4685#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:01,694 INFO L273 TraceCheckUtils]: 14: Hoare triple {4685#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4695#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv6 32) main_~i~0))} is VALID [2018-11-23 11:22:01,694 INFO L273 TraceCheckUtils]: 15: Hoare triple {4695#(and (= (bvadd main_~max~0 (_ bv4294967291 32)) (_ bv0 32)) (= (_ bv6 32) main_~i~0))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4646#false} is VALID [2018-11-23 11:22:01,695 INFO L273 TraceCheckUtils]: 16: Hoare triple {4646#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4646#false} is VALID [2018-11-23 11:22:01,695 INFO L273 TraceCheckUtils]: 17: Hoare triple {4646#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4646#false} is VALID [2018-11-23 11:22:01,695 INFO L273 TraceCheckUtils]: 18: Hoare triple {4646#false} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4646#false} is VALID [2018-11-23 11:22:01,695 INFO L273 TraceCheckUtils]: 19: Hoare triple {4646#false} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4646#false} is VALID [2018-11-23 11:22:01,696 INFO L256 TraceCheckUtils]: 20: Hoare triple {4646#false} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {4646#false} is VALID [2018-11-23 11:22:01,696 INFO L273 TraceCheckUtils]: 21: Hoare triple {4646#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {4646#false} is VALID [2018-11-23 11:22:01,696 INFO L256 TraceCheckUtils]: 22: Hoare triple {4646#false} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {4646#false} is VALID [2018-11-23 11:22:01,696 INFO L273 TraceCheckUtils]: 23: Hoare triple {4646#false} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {4646#false} is VALID [2018-11-23 11:22:01,697 INFO L273 TraceCheckUtils]: 24: Hoare triple {4646#false} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {4646#false} is VALID [2018-11-23 11:22:01,697 INFO L256 TraceCheckUtils]: 25: Hoare triple {4646#false} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {4646#false} is VALID [2018-11-23 11:22:01,697 INFO L273 TraceCheckUtils]: 26: Hoare triple {4646#false} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4646#false} is VALID [2018-11-23 11:22:01,697 INFO L273 TraceCheckUtils]: 27: Hoare triple {4646#false} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4646#false} is VALID [2018-11-23 11:22:01,698 INFO L273 TraceCheckUtils]: 28: Hoare triple {4646#false} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4646#false} is VALID [2018-11-23 11:22:01,698 INFO L273 TraceCheckUtils]: 29: Hoare triple {4646#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4646#false} is VALID [2018-11-23 11:22:01,698 INFO L273 TraceCheckUtils]: 30: Hoare triple {4646#false} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4646#false} is VALID [2018-11-23 11:22:01,698 INFO L273 TraceCheckUtils]: 31: Hoare triple {4646#false} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4646#false} is VALID [2018-11-23 11:22:01,699 INFO L273 TraceCheckUtils]: 32: Hoare triple {4646#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4646#false} is VALID [2018-11-23 11:22:01,699 INFO L273 TraceCheckUtils]: 33: Hoare triple {4646#false} assume !~bvsgt32(~len, 0bv32); {4646#false} is VALID [2018-11-23 11:22:01,699 INFO L273 TraceCheckUtils]: 34: Hoare triple {4646#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4646#false} is VALID [2018-11-23 11:22:01,699 INFO L273 TraceCheckUtils]: 35: Hoare triple {4646#false} assume true; {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4646#false} {4646#false} #208#return; {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L273 TraceCheckUtils]: 37: Hoare triple {4646#false} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L273 TraceCheckUtils]: 38: Hoare triple {4646#false} assume true; {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4646#false} {4646#false} #198#return; {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L273 TraceCheckUtils]: 40: Hoare triple {4646#false} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L273 TraceCheckUtils]: 41: Hoare triple {4646#false} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {4646#false} is VALID [2018-11-23 11:22:01,700 INFO L273 TraceCheckUtils]: 42: Hoare triple {4646#false} assume true; {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4646#false} {4646#false} #192#return; {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L273 TraceCheckUtils]: 44: Hoare triple {4646#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L273 TraceCheckUtils]: 45: Hoare triple {4646#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L273 TraceCheckUtils]: 46: Hoare triple {4646#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L273 TraceCheckUtils]: 47: Hoare triple {4646#false} assume !~bvsle32(~i~0, ~max~0); {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L273 TraceCheckUtils]: 48: Hoare triple {4646#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {4646#false} is VALID [2018-11-23 11:22:01,701 INFO L273 TraceCheckUtils]: 49: Hoare triple {4646#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {4646#false} is VALID [2018-11-23 11:22:01,702 INFO L273 TraceCheckUtils]: 50: Hoare triple {4646#false} assume !~bvsgt32(~i~0, ~max~0); {4646#false} is VALID [2018-11-23 11:22:01,702 INFO L273 TraceCheckUtils]: 51: Hoare triple {4646#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {4646#false} is VALID [2018-11-23 11:22:01,702 INFO L256 TraceCheckUtils]: 52: Hoare triple {4646#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {4646#false} is VALID [2018-11-23 11:22:01,702 INFO L273 TraceCheckUtils]: 53: Hoare triple {4646#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {4646#false} is VALID [2018-11-23 11:22:01,702 INFO L273 TraceCheckUtils]: 54: Hoare triple {4646#false} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {4646#false} is VALID [2018-11-23 11:22:01,702 INFO L273 TraceCheckUtils]: 55: Hoare triple {4646#false} #res := ~len~0; {4646#false} is VALID [2018-11-23 11:22:01,703 INFO L273 TraceCheckUtils]: 56: Hoare triple {4646#false} assume true; {4646#false} is VALID [2018-11-23 11:22:01,703 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {4646#false} {4646#false} #194#return; {4646#false} is VALID [2018-11-23 11:22:01,703 INFO L273 TraceCheckUtils]: 58: Hoare triple {4646#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {4646#false} is VALID [2018-11-23 11:22:01,704 INFO L273 TraceCheckUtils]: 59: Hoare triple {4646#false} assume !(~i~0 == ~count~0); {4646#false} is VALID [2018-11-23 11:22:01,704 INFO L273 TraceCheckUtils]: 60: Hoare triple {4646#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {4646#false} is VALID [2018-11-23 11:22:01,704 INFO L273 TraceCheckUtils]: 61: Hoare triple {4646#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {4646#false} is VALID [2018-11-23 11:22:01,704 INFO L273 TraceCheckUtils]: 62: Hoare triple {4646#false} assume !false; {4646#false} is VALID [2018-11-23 11:22:01,708 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 11:22:01,708 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:02,040 INFO L273 TraceCheckUtils]: 62: Hoare triple {4646#false} assume !false; {4646#false} is VALID [2018-11-23 11:22:02,041 INFO L273 TraceCheckUtils]: 61: Hoare triple {4646#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {4646#false} is VALID [2018-11-23 11:22:02,041 INFO L273 TraceCheckUtils]: 60: Hoare triple {4646#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {4646#false} is VALID [2018-11-23 11:22:02,041 INFO L273 TraceCheckUtils]: 59: Hoare triple {4646#false} assume !(~i~0 == ~count~0); {4646#false} is VALID [2018-11-23 11:22:02,041 INFO L273 TraceCheckUtils]: 58: Hoare triple {4646#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {4646#false} is VALID [2018-11-23 11:22:02,041 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {4645#true} {4646#false} #194#return; {4646#false} is VALID [2018-11-23 11:22:02,042 INFO L273 TraceCheckUtils]: 56: Hoare triple {4645#true} assume true; {4645#true} is VALID [2018-11-23 11:22:02,042 INFO L273 TraceCheckUtils]: 55: Hoare triple {4645#true} #res := ~len~0; {4645#true} is VALID [2018-11-23 11:22:02,042 INFO L273 TraceCheckUtils]: 54: Hoare triple {4645#true} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {4645#true} is VALID [2018-11-23 11:22:02,042 INFO L273 TraceCheckUtils]: 53: Hoare triple {4645#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {4645#true} is VALID [2018-11-23 11:22:02,042 INFO L256 TraceCheckUtils]: 52: Hoare triple {4646#false} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {4645#true} is VALID [2018-11-23 11:22:02,042 INFO L273 TraceCheckUtils]: 51: Hoare triple {4646#false} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {4646#false} is VALID [2018-11-23 11:22:02,042 INFO L273 TraceCheckUtils]: 50: Hoare triple {4646#false} assume !~bvsgt32(~i~0, ~max~0); {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 49: Hoare triple {4646#false} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 48: Hoare triple {4646#false} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 47: Hoare triple {4646#false} assume !~bvsle32(~i~0, ~max~0); {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 46: Hoare triple {4646#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 45: Hoare triple {4646#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 44: Hoare triple {4646#false} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {4645#true} {4646#false} #192#return; {4646#false} is VALID [2018-11-23 11:22:02,043 INFO L273 TraceCheckUtils]: 42: Hoare triple {4645#true} assume true; {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L273 TraceCheckUtils]: 41: Hoare triple {4645#true} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L273 TraceCheckUtils]: 40: Hoare triple {4645#true} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {4645#true} {4645#true} #198#return; {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L273 TraceCheckUtils]: 38: Hoare triple {4645#true} assume true; {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L273 TraceCheckUtils]: 37: Hoare triple {4645#true} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4645#true} {4645#true} #208#return; {4645#true} is VALID [2018-11-23 11:22:02,044 INFO L273 TraceCheckUtils]: 35: Hoare triple {4645#true} assume true; {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 34: Hoare triple {4645#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 33: Hoare triple {4645#true} assume !~bvsgt32(~len, 0bv32); {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 32: Hoare triple {4645#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 31: Hoare triple {4645#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 30: Hoare triple {4645#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 29: Hoare triple {4645#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {4645#true} is VALID [2018-11-23 11:22:02,045 INFO L273 TraceCheckUtils]: 28: Hoare triple {4645#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {4645#true} is VALID [2018-11-23 11:22:02,046 INFO L273 TraceCheckUtils]: 27: Hoare triple {4645#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4645#true} is VALID [2018-11-23 11:22:02,046 INFO L273 TraceCheckUtils]: 26: Hoare triple {4645#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4645#true} is VALID [2018-11-23 11:22:02,046 INFO L256 TraceCheckUtils]: 25: Hoare triple {4645#true} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {4645#true} is VALID [2018-11-23 11:22:02,046 INFO L273 TraceCheckUtils]: 24: Hoare triple {4645#true} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {4645#true} is VALID [2018-11-23 11:22:02,046 INFO L273 TraceCheckUtils]: 23: Hoare triple {4645#true} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {4645#true} is VALID [2018-11-23 11:22:02,047 INFO L256 TraceCheckUtils]: 22: Hoare triple {4645#true} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {4645#true} is VALID [2018-11-23 11:22:02,047 INFO L273 TraceCheckUtils]: 21: Hoare triple {4645#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {4645#true} is VALID [2018-11-23 11:22:02,047 INFO L256 TraceCheckUtils]: 20: Hoare triple {4646#false} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {4645#true} is VALID [2018-11-23 11:22:02,047 INFO L273 TraceCheckUtils]: 19: Hoare triple {4646#false} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4646#false} is VALID [2018-11-23 11:22:02,047 INFO L273 TraceCheckUtils]: 18: Hoare triple {4646#false} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4646#false} is VALID [2018-11-23 11:22:02,048 INFO L273 TraceCheckUtils]: 17: Hoare triple {4646#false} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4646#false} is VALID [2018-11-23 11:22:02,048 INFO L273 TraceCheckUtils]: 16: Hoare triple {4646#false} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4646#false} is VALID [2018-11-23 11:22:02,069 INFO L273 TraceCheckUtils]: 15: Hoare triple {4981#(not (bvsle main_~i~0 main_~max~0))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4646#false} is VALID [2018-11-23 11:22:02,082 INFO L273 TraceCheckUtils]: 14: Hoare triple {4985#(not (bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4981#(not (bvsle main_~i~0 main_~max~0))} is VALID [2018-11-23 11:22:02,091 INFO L273 TraceCheckUtils]: 13: Hoare triple {4985#(not (bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4985#(not (bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,097 INFO L273 TraceCheckUtils]: 12: Hoare triple {4985#(not (bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4985#(not (bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,114 INFO L273 TraceCheckUtils]: 11: Hoare triple {4995#(not (bvsle (bvadd main_~i~0 (_ bv2 32)) main_~max~0))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4985#(not (bvsle (bvadd main_~i~0 (_ bv1 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,115 INFO L273 TraceCheckUtils]: 10: Hoare triple {4995#(not (bvsle (bvadd main_~i~0 (_ bv2 32)) main_~max~0))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {4995#(not (bvsle (bvadd main_~i~0 (_ bv2 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,115 INFO L273 TraceCheckUtils]: 9: Hoare triple {4995#(not (bvsle (bvadd main_~i~0 (_ bv2 32)) main_~max~0))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {4995#(not (bvsle (bvadd main_~i~0 (_ bv2 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,147 INFO L273 TraceCheckUtils]: 8: Hoare triple {5005#(not (bvsle (bvadd main_~i~0 (_ bv3 32)) main_~max~0))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {4995#(not (bvsle (bvadd main_~i~0 (_ bv2 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,147 INFO L273 TraceCheckUtils]: 7: Hoare triple {5005#(not (bvsle (bvadd main_~i~0 (_ bv3 32)) main_~max~0))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5005#(not (bvsle (bvadd main_~i~0 (_ bv3 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,148 INFO L273 TraceCheckUtils]: 6: Hoare triple {5005#(not (bvsle (bvadd main_~i~0 (_ bv3 32)) main_~max~0))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5005#(not (bvsle (bvadd main_~i~0 (_ bv3 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {4645#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {5005#(not (bvsle (bvadd main_~i~0 (_ bv3 32)) main_~max~0))} is VALID [2018-11-23 11:22:02,149 INFO L256 TraceCheckUtils]: 4: Hoare triple {4645#true} call #t~ret25 := main(); {4645#true} is VALID [2018-11-23 11:22:02,149 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4645#true} {4645#true} #202#return; {4645#true} is VALID [2018-11-23 11:22:02,149 INFO L273 TraceCheckUtils]: 2: Hoare triple {4645#true} assume true; {4645#true} is VALID [2018-11-23 11:22:02,149 INFO L273 TraceCheckUtils]: 1: Hoare triple {4645#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4645#true} is VALID [2018-11-23 11:22:02,149 INFO L256 TraceCheckUtils]: 0: Hoare triple {4645#true} call ULTIMATE.init(); {4645#true} is VALID [2018-11-23 11:22:02,152 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 11:22:02,155 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:22:02,155 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2018-11-23 11:22:02,156 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 63 [2018-11-23 11:22:02,157 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:02,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 11:22:02,317 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 11:22:02,318 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 11:22:02,318 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 11:22:02,318 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2018-11-23 11:22:02,319 INFO L87 Difference]: Start difference. First operand 123 states and 160 transitions. Second operand 10 states. [2018-11-23 11:22:03,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:03,830 INFO L93 Difference]: Finished difference Result 189 states and 236 transitions. [2018-11-23 11:22:03,830 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:22:03,830 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 63 [2018-11-23 11:22:03,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:03,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 11:22:03,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 128 transitions. [2018-11-23 11:22:03,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 11:22:03,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 128 transitions. [2018-11-23 11:22:03,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 128 transitions. [2018-11-23 11:22:04,083 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:04,085 INFO L225 Difference]: With dead ends: 189 [2018-11-23 11:22:04,086 INFO L226 Difference]: Without dead ends: 82 [2018-11-23 11:22:04,087 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 117 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2018-11-23 11:22:04,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-23 11:22:04,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 80. [2018-11-23 11:22:04,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:04,457 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 80 states. [2018-11-23 11:22:04,457 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 80 states. [2018-11-23 11:22:04,457 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 80 states. [2018-11-23 11:22:04,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:04,463 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2018-11-23 11:22:04,463 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 97 transitions. [2018-11-23 11:22:04,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:04,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:04,464 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 82 states. [2018-11-23 11:22:04,464 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 82 states. [2018-11-23 11:22:04,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:04,467 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2018-11-23 11:22:04,467 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 97 transitions. [2018-11-23 11:22:04,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:04,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:04,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:04,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:04,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2018-11-23 11:22:04,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 96 transitions. [2018-11-23 11:22:04,471 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 96 transitions. Word has length 63 [2018-11-23 11:22:04,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:04,471 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 96 transitions. [2018-11-23 11:22:04,472 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 11:22:04,472 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 96 transitions. [2018-11-23 11:22:04,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2018-11-23 11:22:04,473 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:04,473 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:04,473 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:04,473 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:04,473 INFO L82 PathProgramCache]: Analyzing trace with hash 501046612, now seen corresponding path program 3 times [2018-11-23 11:22:04,474 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:04,474 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:22:04,503 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 11:22:04,822 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 11:22:04,822 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:22:04,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:04,884 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:05,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:22:05,038 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:05,044 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:05,044 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2018-11-23 11:22:05,048 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:05,048 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_112|]. (and (= |#valid| (store |v_#valid_112| |main_~#head~1.base| (_ bv1 1))) (= |main_~#head~1.offset| (_ bv0 32))) [2018-11-23 11:22:05,048 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|))) [2018-11-23 11:22:05,517 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 45 treesize of output 42 [2018-11-23 11:22:05,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:22:05,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:05,643 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:05,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 33 [2018-11-23 11:22:05,670 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:05,818 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:05,996 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,267 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 45 treesize of output 42 [2018-11-23 11:22:06,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:22:06,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:06,288 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:06,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 33 [2018-11-23 11:22:06,293 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,311 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,345 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,510 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 45 treesize of output 42 [2018-11-23 11:22:06,518 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:22:06,526 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:06,529 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 11:22:06,531 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,543 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,570 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,678 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 45 treesize of output 42 [2018-11-23 11:22:06,688 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 16 [2018-11-23 11:22:06,701 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:06,704 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 11:22:06,708 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,721 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,752 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:06,842 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:06,843 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 8 variables, input treesize:91, output treesize:67 [2018-11-23 11:22:07,047 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:07,048 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_107|, |v_node_create_with_sublist_#t~ret5.base_42|, |v_#memory_$Pointer$.offset_107|, |v_node_create_with_sublist_#t~ret5.offset_42|, v_prenex_1, v_prenex_4, v_prenex_2, v_prenex_3]. (let ((.cse0 (= |node_create_with_sublist_#res.offset| (_ bv0 32))) (.cse1 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))) (.cse2 (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))) (or (and .cse0 (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_107| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.base_107| |node_create_with_sublist_#res.base|) .cse1 |v_node_create_with_sublist_#t~ret5.base_42|) |node_create_with_sublist_#res.offset| (_ bv0 32)))) (not (= (_ bv0 32) |v_node_create_with_sublist_#t~ret5.base_42|)) (= (store |v_#memory_$Pointer$.offset_107| |node_create_with_sublist_#res.base| (store (store (select |v_#memory_$Pointer$.offset_107| |node_create_with_sublist_#res.base|) .cse1 |v_node_create_with_sublist_#t~ret5.offset_42|) |node_create_with_sublist_#res.offset| (_ bv0 32))) |#memory_$Pointer$.offset|) .cse2) (and .cse0 (= |#memory_$Pointer$.base| (store v_prenex_1 |node_create_with_sublist_#res.base| (store (store (select v_prenex_1 |node_create_with_sublist_#res.base|) .cse1 v_prenex_4) |node_create_with_sublist_#res.offset| (_ bv0 32)))) (not (= (_ bv0 32) v_prenex_2)) (= (store v_prenex_3 |node_create_with_sublist_#res.base| (store (store (select v_prenex_3 |node_create_with_sublist_#res.base|) .cse1 v_prenex_2) |node_create_with_sublist_#res.offset| (_ bv0 32))) |#memory_$Pointer$.offset|) .cse2))) [2018-11-23 11:22:07,048 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse2 (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|)) (.cse6 (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|))) (let ((.cse0 (= |node_create_with_sublist_#res.offset| (_ bv0 32))) (.cse1 (= (select .cse6 |node_create_with_sublist_#res.offset|) (_ bv0 32))) (.cse4 (= (select .cse2 |node_create_with_sublist_#res.offset|) (_ bv0 32))) (.cse3 (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))) (.cse5 (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1)))) (or (and .cse0 .cse1 (not (= (_ bv0 32) (select .cse2 .cse3))) .cse4 .cse5) (and .cse0 .cse1 .cse4 (not (= (_ bv0 32) (select .cse6 .cse3))) .cse5)))) [2018-11-23 11:22:07,296 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:07,297 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 61 treesize of output 56 [2018-11-23 11:22:07,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 11 [2018-11-23 11:22:07,308 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:07,352 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:07,732 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:07,732 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 50 treesize of output 43 [2018-11-23 11:22:07,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 27 [2018-11-23 11:22:07,752 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:07,782 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:07,934 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:07,935 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 61 treesize of output 56 [2018-11-23 11:22:07,945 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 11 [2018-11-23 11:22:07,947 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:07,996 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:08,102 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:08,103 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 50 treesize of output 43 [2018-11-23 11:22:08,114 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 27 [2018-11-23 11:22:08,117 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:08,149 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:08,225 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:08,225 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:123, output treesize:79 [2018-11-23 11:22:09,012 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 11:22:09,026 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 51 treesize of output 50 [2018-11-23 11:22:09,029 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:09,188 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 46 treesize of output 60 [2018-11-23 11:22:09,195 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 4 xjuncts. [2018-11-23 11:22:09,337 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 11:22:09,903 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:09,904 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 45 treesize of output 49 [2018-11-23 11:22:09,927 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 23 treesize of output 15 [2018-11-23 11:22:09,928 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:09,950 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:10,003 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 70 [2018-11-23 11:22:10,017 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 55 treesize of output 54 [2018-11-23 11:22:10,019 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:10,146 INFO L267 ElimStorePlain]: Start of recursive call 7: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:10,162 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 43 [2018-11-23 11:22:10,169 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:10,171 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 11:22:10,173 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:10,204 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:10,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 50 treesize of output 62 [2018-11-23 11:22:10,605 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 51 treesize of output 50 [2018-11-23 11:22:10,609 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:10,773 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 48 treesize of output 53 [2018-11-23 11:22:10,780 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 2 xjuncts. [2018-11-23 11:22:10,878 INFO L267 ElimStorePlain]: Start of recursive call 11: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:11,188 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 68 [2018-11-23 11:22:11,218 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 58 [2018-11-23 11:22:11,240 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:11,380 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 11:22:11,386 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 2 xjuncts. [2018-11-23 11:22:11,457 INFO L267 ElimStorePlain]: Start of recursive call 14: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:11,466 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:11,468 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 45 treesize of output 47 [2018-11-23 11:22:11,480 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 29 treesize of output 27 [2018-11-23 11:22:11,482 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:11,507 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:11,742 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 11:22:11,742 INFO L202 ElimStorePlain]: Needed 18 recursive calls to eliminate 6 variables, input treesize:101, output treesize:275 [2018-11-23 11:22:13,895 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:13,895 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_109|, sll_append_~new_last~0.base, |v_#memory_$Pointer$.offset_109|, v_prenex_7, v_prenex_9, v_prenex_8]. (or (let ((.cse0 (select |v_#memory_$Pointer$.base_109| sll_append_~new_last~0.base))) (and (not (= (select .cse0 (_ bv4 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= (select (select |v_#memory_$Pointer$.offset_109| sll_append_~new_last~0.base) (_ bv0 32)) (_ bv0 32)) (= (select .cse0 (_ bv0 32)) (_ bv0 32)) (= (store |v_#memory_$Pointer$.offset_109| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.offset_109| |sll_append_#in~head.base|) |sll_append_#in~head.offset| (_ bv0 32))) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_109| |sll_append_#in~head.base| (store (select |v_#memory_$Pointer$.base_109| |sll_append_#in~head.base|) |sll_append_#in~head.offset| sll_append_~new_last~0.base))))) (let ((.cse1 (select v_prenex_8 v_prenex_9))) (and (= (_ bv0 1) (select |old(#valid)| v_prenex_9)) (= |#memory_$Pointer$.base| (store v_prenex_7 |sll_append_#in~head.base| (store (select v_prenex_7 |sll_append_#in~head.base|) |sll_append_#in~head.offset| v_prenex_9))) (= (select .cse1 (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select .cse1 (_ bv4 32)))) (= (select (select v_prenex_7 v_prenex_9) (_ bv0 32)) (_ bv0 32)) (= (store v_prenex_8 |sll_append_#in~head.base| (store (select v_prenex_8 |sll_append_#in~head.base|) |sll_append_#in~head.offset| (_ bv0 32))) |#memory_$Pointer$.offset|)))) [2018-11-23 11:22:13,896 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse8 (select |#memory_$Pointer$.base| |sll_append_#in~head.base|))) (let ((.cse12 (select .cse8 |sll_append_#in~head.offset|))) (let ((.cse3 (select |#memory_$Pointer$.base| .cse12)) (.cse11 (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|)) (.cse13 (select |#memory_$Pointer$.offset| .cse12))) (let ((.cse1 (= (_ bv0 32) (select .cse13 (_ bv0 32)))) (.cse9 (not (= (select .cse13 (_ bv4 32)) (_ bv0 32)))) (.cse7 (= (_ bv0 32) (select .cse13 |sll_append_#in~head.offset|))) (.cse10 (= (_ bv0 32) |sll_append_#in~head.offset|)) (.cse5 (= (_ bv4 32) |sll_append_#in~head.offset|)) (.cse0 (= (_ bv0 32) (select .cse11 |sll_append_#in~head.offset|))) (.cse6 (= .cse12 |sll_append_#in~head.base|)) (.cse2 (= (_ bv0 1) (select |old(#valid)| .cse12))) (.cse4 (= (_ bv0 32) (select .cse3 (_ bv0 32))))) (or (and .cse0 .cse1 .cse2 (not (= (select .cse3 (_ bv4 32)) (_ bv0 32))) .cse4) (and .cse5 .cse1 .cse2 .cse6 .cse7 (= (select .cse8 (_ bv0 32)) (_ bv0 32))) (and .cse0 .cse1 .cse9 .cse2 .cse4) (and .cse2 .cse6 (not (= (select .cse8 (_ bv4 32)) (_ bv0 32))) .cse7 .cse10) (and .cse9 .cse6 .cse7 .cse10 (= (_ bv0 1) (select |old(#valid)| |sll_append_#in~head.base|))) (and .cse5 .cse0 .cse6 .cse2 (= (select .cse11 (_ bv0 32)) (_ bv0 32)) .cse4)))))) [2018-11-23 11:22:14,353 WARN L180 SmtUtils]: Spent 307.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 45 [2018-11-23 11:22:14,403 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 11:22:14,404 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:14,538 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:14,539 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:14,540 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 11:22:14,552 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:14,619 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:14,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:14,621 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 11:22:14,624 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:14,807 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:14,807 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:264, output treesize:107 [2018-11-23 11:22:14,818 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:14,818 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_14, v_prenex_12, v_prenex_13, v_prenex_15, |v_#valid_BEFORE_CALL_4|]. (let ((.cse10 (select |#memory_$Pointer$.base| |main_~#head~1.base|))) (let ((.cse7 (select .cse10 |main_~#head~1.offset|))) (let ((.cse6 (select |#memory_$Pointer$.base| .cse7)) (.cse11 (select |#memory_$Pointer$.offset| .cse7))) (let ((.cse2 (not (= (_ bv0 32) (select .cse11 (_ bv4 32))))) (.cse8 (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|))) (.cse9 (= (select .cse6 (_ bv0 32)) (_ bv0 32))) (.cse5 (= (select .cse11 (_ bv0 32)) (_ bv0 32))) (.cse0 (= (_ bv0 32) (select .cse11 |main_~#head~1.offset|))) (.cse3 (= |main_~#head~1.offset| (_ bv0 32))) (.cse4 (= |main_~#head~1.base| .cse7))) (or (let ((.cse1 (select v_prenex_14 |main_~#head~1.base|))) (and .cse0 (= (_ bv0 1) .cse1) .cse2 .cse3 (= (_ bv1 1) .cse1) .cse4)) (and .cse5 (= (_ bv1 1) (select v_prenex_12 |main_~#head~1.base|)) (not (= (select .cse6 (_ bv4 32)) (_ bv0 32))) (= (select v_prenex_12 .cse7) (_ bv0 1)) .cse3 .cse8 .cse9) (and .cse5 (= (select v_prenex_13 .cse7) (_ bv0 1)) .cse2 .cse3 .cse8 (= (_ bv1 1) (select v_prenex_13 |main_~#head~1.base|)) .cse9) (and .cse5 (= (select v_prenex_15 .cse7) (_ bv0 1)) .cse0 (= (_ bv1 1) (select v_prenex_15 |main_~#head~1.base|)) .cse3 .cse4 (= |main_~#head~1.offset| (_ bv4 32)) (= (select .cse10 (_ bv0 32)) (_ bv0 32))) (and (= (select |v_#valid_BEFORE_CALL_4| .cse7) (_ bv0 1)) .cse0 (not (= (select .cse10 (_ bv4 32)) (_ bv0 32))) (= (_ bv1 1) (select |v_#valid_BEFORE_CALL_4| |main_~#head~1.base|)) .cse3 .cse4)))))) [2018-11-23 11:22:14,819 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse7 (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (let ((.cse1 (select |#memory_$Pointer$.base| .cse7)) (.cse6 (select |#memory_$Pointer$.offset| .cse7))) (let ((.cse0 (= (select .cse6 (_ bv0 32)) (_ bv0 32))) (.cse2 (= |main_~#head~1.offset| (_ bv0 32))) (.cse3 (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|))) (.cse4 (not (= |main_~#head~1.base| .cse7))) (.cse5 (= (select .cse1 (_ bv0 32)) (_ bv0 32)))) (or (and .cse0 (not (= (select .cse1 (_ bv4 32)) (_ bv0 32))) .cse2 .cse3 .cse4 .cse5) (and .cse0 (not (= (_ bv0 32) (select .cse6 (_ bv4 32)))) .cse2 .cse3 .cse4 .cse5))))) [2018-11-23 11:22:15,481 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 60 [2018-11-23 11:22:15,491 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 17 [2018-11-23 11:22:15,494 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,525 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 4 [2018-11-23 11:22:15,526 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,544 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,621 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 11:22:15,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:22:15,632 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 15 treesize of output 8 [2018-11-23 11:22:15,633 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,661 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 21 treesize of output 11 [2018-11-23 11:22:15,662 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,677 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,732 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 28 [2018-11-23 11:22:15,738 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 4 [2018-11-23 11:22:15,739 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,752 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2018-11-23 11:22:15,757 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,759 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,787 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 35 treesize of output 26 [2018-11-23 11:22:15,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2018-11-23 11:22:15,794 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,807 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 11:22:15,814 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,815 INFO L267 ElimStorePlain]: Start of recursive call 11: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:15,822 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 11:22:15,822 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 6 variables, input treesize:169, output treesize:9 [2018-11-23 11:22:15,837 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:22:15,837 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_prenex_16, |#memory_$Pointer$.offset|, v_prenex_20, |main_~#head~1.base|, v_prenex_19]. (or (let ((.cse4 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (.cse1 (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)))) (let ((.cse3 (bvadd .cse1 (_ bv4 32))) (.cse0 (select |#memory_$Pointer$.base| .cse4)) (.cse2 (select |#memory_$Pointer$.offset| .cse4))) (and (= (select .cse0 (_ bv0 32)) (_ bv0 32)) (= .cse1 (_ bv0 32)) (= (select .cse2 .cse3) |main_#t~mem20.offset|) (not (= v_prenex_16 .cse4)) (= |main_#t~mem20.base| (select .cse0 .cse3)) (not (= (_ bv0 32) (select .cse0 (_ bv4 32)))) (= (_ bv0 32) (select .cse2 (_ bv0 32)))))) (let ((.cse9 (select (select v_prenex_20 |main_~#head~1.base|) (_ bv0 32))) (.cse5 (select (select v_prenex_19 |main_~#head~1.base|) (_ bv0 32)))) (let ((.cse7 (bvadd .cse5 (_ bv4 32))) (.cse8 (select v_prenex_20 .cse9)) (.cse6 (select v_prenex_19 .cse9))) (and (= .cse5 (_ bv0 32)) (= (select .cse6 .cse7) |main_#t~mem20.offset|) (= |main_#t~mem20.base| (select .cse8 .cse7)) (not (= |main_~#head~1.base| .cse9)) (= (_ bv0 32) (select .cse6 (_ bv0 32))) (= (select .cse8 (_ bv0 32)) (_ bv0 32)) (not (= (select .cse6 (_ bv4 32)) (_ bv0 32))))))) [2018-11-23 11:22:15,838 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (or (not (= |main_#t~mem20.base| (_ bv0 32))) (not (= (_ bv0 32) |main_#t~mem20.offset|))) [2018-11-23 11:22:16,005 INFO L256 TraceCheckUtils]: 0: Hoare triple {5579#true} call ULTIMATE.init(); {5579#true} is VALID [2018-11-23 11:22:16,005 INFO L273 TraceCheckUtils]: 1: Hoare triple {5579#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5579#true} is VALID [2018-11-23 11:22:16,005 INFO L273 TraceCheckUtils]: 2: Hoare triple {5579#true} assume true; {5579#true} is VALID [2018-11-23 11:22:16,006 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5579#true} {5579#true} #202#return; {5579#true} is VALID [2018-11-23 11:22:16,006 INFO L256 TraceCheckUtils]: 4: Hoare triple {5579#true} call #t~ret25 := main(); {5579#true} is VALID [2018-11-23 11:22:16,008 INFO L273 TraceCheckUtils]: 5: Hoare triple {5579#true} ~min~0 := 3bv32;~max~0 := 5bv32;havoc ~i~0;havoc ~j~0;call ~#head~1.base, ~#head~1.offset := #Ultimate.alloc(4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#head~1.base, ~#head~1.offset, 4bv32);~i~0 := ~min~0; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,008 INFO L273 TraceCheckUtils]: 6: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,013 INFO L273 TraceCheckUtils]: 7: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,014 INFO L273 TraceCheckUtils]: 8: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,014 INFO L273 TraceCheckUtils]: 9: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,015 INFO L273 TraceCheckUtils]: 10: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,015 INFO L273 TraceCheckUtils]: 11: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,015 INFO L273 TraceCheckUtils]: 12: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!~bvsle32(~i~0, ~max~0);~j~0 := 0bv32; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,016 INFO L273 TraceCheckUtils]: 13: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} assume !!(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} is VALID [2018-11-23 11:22:16,017 INFO L256 TraceCheckUtils]: 14: Hoare triple {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} call sll_append(~#head~1.base, ~#head~1.offset, ~i~0); {5627#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:22:16,018 INFO L273 TraceCheckUtils]: 15: Hoare triple {5627#(= |#valid| |old(#valid)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~sublist_length := #in~sublist_length; {5631#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} is VALID [2018-11-23 11:22:16,019 INFO L256 TraceCheckUtils]: 16: Hoare triple {5631#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} call #t~ret8.base, #t~ret8.offset := node_create_with_sublist(~sublist_length); {5627#(= |#valid| |old(#valid)|)} is VALID [2018-11-23 11:22:16,020 INFO L273 TraceCheckUtils]: 17: Hoare triple {5627#(= |#valid| |old(#valid)|)} ~sublist_length := #in~sublist_length;call #t~malloc4.base, #t~malloc4.offset := #Ultimate.alloc(8bv32);~new_node~0.base, ~new_node~0.offset := #t~malloc4.base, #t~malloc4.offset; {5638#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:22:16,022 INFO L273 TraceCheckUtils]: 18: Hoare triple {5638#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} assume !(0bv32 == ~new_node~0.base && 0bv32 == ~new_node~0.offset); {5638#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:22:16,022 INFO L256 TraceCheckUtils]: 19: Hoare triple {5638#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call #t~ret5.base, #t~ret5.offset := sll_create(~sublist_length); {5579#true} is VALID [2018-11-23 11:22:16,022 INFO L273 TraceCheckUtils]: 20: Hoare triple {5579#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5579#true} is VALID [2018-11-23 11:22:16,022 INFO L273 TraceCheckUtils]: 21: Hoare triple {5579#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5579#true} is VALID [2018-11-23 11:22:16,023 INFO L273 TraceCheckUtils]: 22: Hoare triple {5579#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5579#true} is VALID [2018-11-23 11:22:16,023 INFO L273 TraceCheckUtils]: 23: Hoare triple {5579#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5579#true} is VALID [2018-11-23 11:22:16,023 INFO L273 TraceCheckUtils]: 24: Hoare triple {5579#true} assume !!~bvsgt32(~len, 0bv32);call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8bv32);~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {5579#true} is VALID [2018-11-23 11:22:16,024 INFO L273 TraceCheckUtils]: 25: Hoare triple {5579#true} assume !(0bv32 == ~new_head~0.base && 0bv32 == ~new_head~0.offset); {5663#(or (not (= (_ bv0 32) sll_create_~new_head~0.base)) (not (= sll_create_~new_head~0.offset (_ bv0 32))))} is VALID [2018-11-23 11:22:16,025 INFO L273 TraceCheckUtils]: 26: Hoare triple {5663#(or (not (= (_ bv0 32) sll_create_~new_head~0.base)) (not (= sll_create_~new_head~0.offset (_ bv0 32))))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4bv32);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post3 := ~len;~len := ~bvsub32(#t~post3, 1bv32);havoc #t~post3; {5667#(or (not (= sll_create_~head~0.base (_ bv0 32))) (not (= (_ bv0 32) sll_create_~head~0.offset)))} is VALID [2018-11-23 11:22:16,025 INFO L273 TraceCheckUtils]: 27: Hoare triple {5667#(or (not (= sll_create_~head~0.base (_ bv0 32))) (not (= (_ bv0 32) sll_create_~head~0.offset)))} assume !~bvsgt32(~len, 0bv32); {5667#(or (not (= sll_create_~head~0.base (_ bv0 32))) (not (= (_ bv0 32) sll_create_~head~0.offset)))} is VALID [2018-11-23 11:22:16,026 INFO L273 TraceCheckUtils]: 28: Hoare triple {5667#(or (not (= sll_create_~head~0.base (_ bv0 32))) (not (= (_ bv0 32) sll_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5674#(or (not (= |sll_create_#res.offset| (_ bv0 32))) (not (= (_ bv0 32) |sll_create_#res.base|)))} is VALID [2018-11-23 11:22:16,027 INFO L273 TraceCheckUtils]: 29: Hoare triple {5674#(or (not (= |sll_create_#res.offset| (_ bv0 32))) (not (= (_ bv0 32) |sll_create_#res.base|)))} assume true; {5674#(or (not (= |sll_create_#res.offset| (_ bv0 32))) (not (= (_ bv0 32) |sll_create_#res.base|)))} is VALID [2018-11-23 11:22:16,029 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {5674#(or (not (= |sll_create_#res.offset| (_ bv0 32))) (not (= (_ bv0 32) |sll_create_#res.base|)))} {5638#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} #208#return; {5681#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (or (not (= (_ bv0 32) |node_create_with_sublist_#t~ret5.base|)) (not (= (_ bv0 32) |node_create_with_sublist_#t~ret5.offset|))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} is VALID [2018-11-23 11:22:16,033 INFO L273 TraceCheckUtils]: 31: Hoare triple {5681#(and (= node_create_with_sublist_~new_node~0.offset (_ bv0 32)) (or (not (= (_ bv0 32) |node_create_with_sublist_#t~ret5.base|)) (not (= (_ bv0 32) |node_create_with_sublist_#t~ret5.offset|))) (= (select |old(#valid)| node_create_with_sublist_~new_node~0.base) (_ bv0 1)))} call write~$Pointer$(#t~ret5.base, #t~ret5.offset, ~new_node~0.base, ~bvadd32(4bv32, ~new_node~0.offset), 4bv32);havoc #t~ret5.base, #t~ret5.offset;call write~$Pointer$(0bv32, 0bv32, ~new_node~0.base, ~new_node~0.offset, 4bv32);#res.base, #res.offset := ~new_node~0.base, ~new_node~0.offset; {5685#(or (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))))} is VALID [2018-11-23 11:22:16,034 INFO L273 TraceCheckUtils]: 32: Hoare triple {5685#(or (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))))} assume true; {5685#(or (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))))} is VALID [2018-11-23 11:22:16,039 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {5685#(or (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))) (and (= |node_create_with_sublist_#res.offset| (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |node_create_with_sublist_#res.base|) |node_create_with_sublist_#res.offset|) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |node_create_with_sublist_#res.base|) (bvadd |node_create_with_sublist_#res.offset| (_ bv4 32))))) (= (select |old(#valid)| |node_create_with_sublist_#res.base|) (_ bv0 1))))} {5631#(and (= |#valid| |old(#valid)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|))} #198#return; {5692#(and (= sll_append_~head.base |sll_append_#in~head.base|) (or (and (= (_ bv0 32) (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|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)))) (= sll_append_~head.offset |sll_append_#in~head.offset|))} is VALID [2018-11-23 11:22:16,043 INFO L273 TraceCheckUtils]: 34: Hoare triple {5692#(and (= sll_append_~head.base |sll_append_#in~head.base|) (or (and (= (_ bv0 32) (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|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)) (not (= (select (select |#memory_$Pointer$.offset| |sll_append_#t~ret8.base|) (bvadd |sll_append_#t~ret8.offset| (_ bv4 32))) (_ bv0 32))) (= (_ bv0 32) |sll_append_#t~ret8.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#t~ret8.base|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |sll_append_#t~ret8.base|) |sll_append_#t~ret8.offset|)))) (= sll_append_~head.offset |sll_append_#in~head.offset|))} ~new_last~0.base, ~new_last~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;call write~$Pointer$(0bv32, 0bv32, ~new_last~0.base, ~new_last~0.offset, 4bv32);call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32);~temp~0.base, ~temp~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {5696#(or (and (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (bvadd sll_append_~new_last~0.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (not (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (bvadd sll_append_~new_last~0.offset (_ bv4 32))) (_ bv0 32))) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32))))} is VALID [2018-11-23 11:22:16,052 INFO L273 TraceCheckUtils]: 35: Hoare triple {5696#(or (and (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) (bvadd sll_append_~new_last~0.offset (_ bv4 32))))) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= (_ bv0 1) (select |old(#valid)| sll_append_~new_last~0.base)) (not (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) (bvadd sll_append_~new_last~0.offset (_ bv4 32))) (_ bv0 32))) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) (_ bv0 32)) (= sll_append_~new_last~0.offset (_ bv0 32))))} assume !(0bv32 != ~temp~0.base || 0bv32 != ~temp~0.offset);call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4bv32); {5700#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)) (and (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#in~head.base|))))} is VALID [2018-11-23 11:22:16,053 INFO L273 TraceCheckUtils]: 36: Hoare triple {5700#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)) (and (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#in~head.base|))))} assume true; {5700#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)) (and (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#in~head.base|))))} is VALID [2018-11-23 11:22:16,055 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5700#(or (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32)))) (and (= (_ bv4 32) |sll_append_#in~head.offset|) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv0 32))) (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv0 32)) (_ bv0 32))) (and (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (not (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) |sll_append_#in~head.offset|)) (and (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (_ bv4 32)) (_ bv0 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) |sll_append_#in~head.base|) (= (_ bv0 32) |sll_append_#in~head.offset|) (= (_ bv0 1) (select |old(#valid)| |sll_append_#in~head.base|))))} {5599#(and (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |main_~#head~1.base|)))} #192#return; {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} is VALID [2018-11-23 11:22:16,056 INFO L273 TraceCheckUtils]: 38: Hoare triple {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} #t~post16 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post16);havoc #t~post16; {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} is VALID [2018-11-23 11:22:16,057 INFO L273 TraceCheckUtils]: 39: Hoare triple {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} assume !(~bvslt32(~j~0, 10bv32) && 0bv32 != #t~nondet17);havoc #t~nondet17; {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} is VALID [2018-11-23 11:22:16,057 INFO L273 TraceCheckUtils]: 40: Hoare triple {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} #t~post15 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post15);havoc #t~post15; {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} is VALID [2018-11-23 11:22:16,059 INFO L273 TraceCheckUtils]: 41: Hoare triple {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} assume !~bvsle32(~i~0, ~max~0); {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} is VALID [2018-11-23 11:22:16,064 INFO L273 TraceCheckUtils]: 42: Hoare triple {5707#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)) (_ bv0 32))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv4 32)))) (= |main_~#head~1.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) |main_~#head~1.offset|)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) |main_~#head~1.offset|)) (_ bv0 32)) (_ bv0 32))))} call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~#head~1.base, ~#head~1.offset, 4bv32);~ptr~0.base, ~ptr~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset;~i~0 := ~min~0; {5723#(or (exists ((v_prenex_16 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) (_ bv0 32)) (not (= v_prenex_16 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) main_~ptr~0.offset))) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset))))} is VALID [2018-11-23 11:22:16,065 INFO L273 TraceCheckUtils]: 43: Hoare triple {5723#(or (exists ((v_prenex_16 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) (_ bv0 32)) (not (= v_prenex_16 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) main_~ptr~0.offset))) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset))))} assume !!(0bv32 != ~ptr~0.base || 0bv32 != ~ptr~0.offset); {5723#(or (exists ((v_prenex_16 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) (_ bv0 32)) (not (= v_prenex_16 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) main_~ptr~0.offset))) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset))))} is VALID [2018-11-23 11:22:16,065 INFO L273 TraceCheckUtils]: 44: Hoare triple {5723#(or (exists ((v_prenex_16 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) (_ bv0 32)) (not (= v_prenex_16 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) main_~ptr~0.offset))) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset))))} assume !~bvsgt32(~i~0, ~max~0); {5723#(or (exists ((v_prenex_16 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) (_ bv0 32)) (not (= v_prenex_16 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) main_~ptr~0.offset))) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset))))} is VALID [2018-11-23 11:22:16,068 INFO L273 TraceCheckUtils]: 45: Hoare triple {5723#(or (exists ((v_prenex_16 (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) (_ bv0 32)) (not (= v_prenex_16 (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| v_prenex_16) (_ bv0 32)) main_~ptr~0.base) (= (select (select |#memory_$Pointer$.offset| v_prenex_16) (_ bv0 32)) main_~ptr~0.offset))) (exists ((|main_~#head~1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32)) (_ bv0 32)) (not (= |main_~#head~1.base| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)))) (not (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv4 32)) (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.base) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#head~1.base|) (_ bv0 32))) (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |main_~#head~1.base|) (_ bv0 32)) main_~ptr~0.offset))))} assume !!(~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32);call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~ptr~0.base, ~bvadd32(4bv32, ~ptr~0.offset), 4bv32); {5733#(or (not (= |main_#t~mem20.base| (_ bv0 32))) (not (= (_ bv0 32) |main_#t~mem20.offset|)))} is VALID [2018-11-23 11:22:16,068 INFO L256 TraceCheckUtils]: 46: Hoare triple {5733#(or (not (= |main_#t~mem20.base| (_ bv0 32))) (not (= (_ bv0 32) |main_#t~mem20.offset|)))} call #t~ret21 := sll_length(#t~mem20.base, #t~mem20.offset); {5579#true} is VALID [2018-11-23 11:22:16,069 INFO L273 TraceCheckUtils]: 47: Hoare triple {5579#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0bv32; {5740#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|))} is VALID [2018-11-23 11:22:16,070 INFO L273 TraceCheckUtils]: 48: Hoare triple {5740#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= sll_length_~head.base |sll_length_#in~head.base|))} assume !(~head.base != 0bv32 || ~head.offset != 0bv32); {5744#(and (= (_ bv0 32) |sll_length_#in~head.offset|) (= (_ bv0 32) |sll_length_#in~head.base|))} is VALID [2018-11-23 11:22:16,070 INFO L273 TraceCheckUtils]: 49: Hoare triple {5744#(and (= (_ bv0 32) |sll_length_#in~head.offset|) (= (_ bv0 32) |sll_length_#in~head.base|))} #res := ~len~0; {5744#(and (= (_ bv0 32) |sll_length_#in~head.offset|) (= (_ bv0 32) |sll_length_#in~head.base|))} is VALID [2018-11-23 11:22:16,072 INFO L273 TraceCheckUtils]: 50: Hoare triple {5744#(and (= (_ bv0 32) |sll_length_#in~head.offset|) (= (_ bv0 32) |sll_length_#in~head.base|))} assume true; {5744#(and (= (_ bv0 32) |sll_length_#in~head.offset|) (= (_ bv0 32) |sll_length_#in~head.base|))} is VALID [2018-11-23 11:22:16,073 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {5744#(and (= (_ bv0 32) |sll_length_#in~head.offset|) (= (_ bv0 32) |sll_length_#in~head.base|))} {5733#(or (not (= |main_#t~mem20.base| (_ bv0 32))) (not (= (_ bv0 32) |main_#t~mem20.offset|)))} #194#return; {5580#false} is VALID [2018-11-23 11:22:16,073 INFO L273 TraceCheckUtils]: 52: Hoare triple {5580#false} ~count~0 := #t~ret21;havoc #t~ret21;havoc #t~mem20.base, #t~mem20.offset; {5580#false} is VALID [2018-11-23 11:22:16,073 INFO L273 TraceCheckUtils]: 53: Hoare triple {5580#false} assume !(~i~0 == ~count~0); {5580#false} is VALID [2018-11-23 11:22:16,074 INFO L273 TraceCheckUtils]: 54: Hoare triple {5580#false} assume !(3bv32 == ~i~0 && 5bv32 == ~count~0); {5580#false} is VALID [2018-11-23 11:22:16,074 INFO L273 TraceCheckUtils]: 55: Hoare triple {5580#false} assume !(~bvadd32(1bv32, ~i~0) == ~count~0 && ~bvslt32(~i~0, ~max~0)); {5580#false} is VALID [2018-11-23 11:22:16,074 INFO L273 TraceCheckUtils]: 56: Hoare triple {5580#false} assume !false; {5580#false} is VALID [2018-11-23 11:22:16,095 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 8 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 11:22:16,095 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:18,872 WARN L180 SmtUtils]: Spent 167.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 11:22:18,976 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-11-23 11:22:19,096 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:22:19,217 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:22:20,655 WARN L180 SmtUtils]: Spent 1.42 s on a formula simplification that was a NOOP. DAG size: 76 [2018-11-23 11:22:20,982 WARN L180 SmtUtils]: Spent 319.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 11:22:21,515 WARN L180 SmtUtils]: Spent 530.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 11:22:21,967 WARN L180 SmtUtils]: Spent 450.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 11:22:23,247 WARN L180 SmtUtils]: Spent 349.00 ms on a formula simplification. DAG size of input: 107 DAG size of output: 55 [2018-11-23 11:22:23,262 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 42 [2018-11-23 11:22:23,330 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 32 treesize of output 32 [2018-11-23 11:22:23,336 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:23,337 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 28 treesize of output 35 [2018-11-23 11:22:23,342 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,361 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,385 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 22 [2018-11-23 11:22:23,422 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:22:23,423 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,427 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:23,428 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 23 treesize of output 14 [2018-11-23 11:22:23,443 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,452 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,468 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 76 treesize of output 75 [2018-11-23 11:22:23,653 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 32 [2018-11-23 11:22:23,662 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:23,663 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 28 treesize of output 35 [2018-11-23 11:22:23,665 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,690 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 22 [2018-11-23 11:22:23,767 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:22:23,768 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,772 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:23,773 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 19 treesize of output 10 [2018-11-23 11:22:23,774 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,780 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,799 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,856 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 52 [2018-11-23 11:22:23,933 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 28 treesize of output 28 [2018-11-23 11:22:23,941 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 28 treesize of output 28 [2018-11-23 11:22:23,943 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,957 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:23,985 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 22 [2018-11-23 11:22:24,028 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 23 treesize of output 11 [2018-11-23 11:22:24,030 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,031 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-11-23 11:22:24,032 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,036 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,051 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,087 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:24,088 INFO L202 ElimStorePlain]: Needed 19 recursive calls to eliminate 10 variables, input treesize:173, output treesize:17 [2018-11-23 11:22:28,400 WARN L180 SmtUtils]: Spent 162.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:22:28,709 WARN L180 SmtUtils]: Spent 179.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 11:22:28,944 WARN L180 SmtUtils]: Spent 134.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:22:29,078 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:22:36,971 WARN L180 SmtUtils]: Spent 5.38 s on a formula simplification. DAG size of input: 184 DAG size of output: 140 [2018-11-23 11:22:37,044 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 0 case distinctions, treesize of input 166 treesize of output 145 [2018-11-23 11:22:37,475 WARN L180 SmtUtils]: Spent 403.00 ms on a formula simplification. DAG size of input: 71 DAG size of output: 61 [2018-11-23 11:22:37,486 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 12 treesize of output 16 [2018-11-23 11:22:37,498 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:37,499 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 24 [2018-11-23 11:22:37,500 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:37,539 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:37,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 122 treesize of output 146 [2018-11-23 11:22:37,848 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 132 treesize of output 131 [2018-11-23 11:22:37,851 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:38,193 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 71 treesize of output 70 [2018-11-23 11:22:38,196 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:38,481 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 69 treesize of output 73 [2018-11-23 11:22:38,496 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:38,496 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:38,497 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 64 treesize of output 55 [2018-11-23 11:22:38,540 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:39,113 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:39,114 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 49 treesize of output 40 [2018-11-23 11:22:39,118 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:39,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, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 49 [2018-11-23 11:22:39,218 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:39,302 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:39,303 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 49 treesize of output 40 [2018-11-23 11:22:39,305 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:39,372 INFO L267 ElimStorePlain]: Start of recursive call 8: 4 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:39,599 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, 3 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:22:39,752 INFO L303 Elim1Store]: Index analysis took 150 ms [2018-11-23 11:22:39,941 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 9 case distinctions, treesize of input 146 treesize of output 188 [2018-11-23 11:22:40,021 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 160 treesize of output 159 [2018-11-23 11:22:40,047 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:42,072 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:42,082 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 156 treesize of output 160 [2018-11-23 11:22:42,086 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:44,073 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:44,074 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:44,075 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:44,075 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:44,082 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:44,083 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 151 treesize of output 256 [2018-11-23 11:22:44,094 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:46,038 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:46,047 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 152 treesize of output 181 [2018-11-23 11:22:46,051 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:47,933 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 153 treesize of output 152 [2018-11-23 11:22:47,987 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:47,995 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 147 treesize of output 138 [2018-11-23 11:22:48,003 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:48,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, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 107 treesize of output 83 [2018-11-23 11:22:48,216 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:48,517 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:48,518 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 83 treesize of output 74 [2018-11-23 11:22:48,521 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:48,821 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:48,828 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 141 treesize of output 132 [2018-11-23 11:22:48,832 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:49,045 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:49,094 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 104 treesize of output 87 [2018-11-23 11:22:49,098 INFO L267 ElimStorePlain]: Start of recursive call 23: End of recursive call: and 4 xjuncts. [2018-11-23 11:22:49,358 INFO L267 ElimStorePlain]: Start of recursive call 18: 5 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 11:22:51,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 4 case distinctions, treesize of input 149 treesize of output 176 [2018-11-23 11:22:51,869 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:51,876 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 148 treesize of output 139 [2018-11-23 11:22:51,882 INFO L267 ElimStorePlain]: Start of recursive call 25: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:59,527 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:22:59,529 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 148 treesize of output 139 [2018-11-23 11:22:59,531 INFO L267 ElimStorePlain]: Start of recursive call 26: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:06,619 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:06,678 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 108 treesize of output 109 [2018-11-23 11:23:06,692 INFO L267 ElimStorePlain]: Start of recursive call 27: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 3 xjuncts. [2018-11-23 11:23:16,656 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:16,662 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 148 treesize of output 139 [2018-11-23 11:23:16,665 INFO L267 ElimStorePlain]: Start of recursive call 28: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:26,084 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:26,095 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:26,127 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:23:26,303 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 4 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 6 case distinctions, treesize of input 135 treesize of output 216 [2018-11-23 11:23:26,304 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 6 [2018-11-23 11:23:26,353 INFO L267 ElimStorePlain]: Start of recursive call 29: 4 dim-0 vars, End of recursive call: 4 dim-0 vars, and 24 xjuncts. [2018-11-23 11:23:48,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 111 treesize of output 105 [2018-11-23 11:23:48,801 INFO L267 ElimStorePlain]: Start of recursive call 30: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:24:04,434 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 150 treesize of output 119 [2018-11-23 11:24:04,437 INFO L267 ElimStorePlain]: Start of recursive call 31: End of recursive call: and 1 xjuncts. [2018-11-23 11:24:20,894 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:24:20,895 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 105 treesize of output 96 [2018-11-23 11:24:20,897 INFO L267 ElimStorePlain]: Start of recursive call 32: End of recursive call: and 1 xjuncts. [2018-11-23 11:24:36,519 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 148 treesize of output 142 [2018-11-23 11:24:36,526 INFO L267 ElimStorePlain]: Start of recursive call 33: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:24:52,014 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 136 treesize of output 132 [2018-11-23 11:24:52,021 INFO L267 ElimStorePlain]: Start of recursive call 34: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:25:08,497 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:25:08,546 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 143 treesize of output 166 [2018-11-23 11:25:08,552 INFO L267 ElimStorePlain]: Start of recursive call 35: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts.