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/heap-data/shared_mem1_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:19:54,554 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:19:54,556 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:19:54,573 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:19:54,574 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:19:54,575 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:19:54,577 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:19:54,580 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:19:54,582 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:19:54,583 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:19:54,584 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:19:54,584 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:19:54,585 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:19:54,586 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:19:54,587 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:19:54,588 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:19:54,588 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:19:54,590 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:19:54,592 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:19:54,594 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:19:54,595 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:19:54,596 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:19:54,598 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:19:54,598 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:19:54,598 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:19:54,599 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:19:54,600 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:19:54,601 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:19:54,602 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:19:54,603 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:19:54,603 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:19:54,604 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:19:54,604 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:19:54,604 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:19:54,605 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:19:54,605 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:19:54,606 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:19:54,620 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:19:54,620 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:19:54,621 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:19:54,621 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:19:54,622 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:19:54,622 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:19:54,622 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:19:54,623 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:19:54,623 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:19:54,623 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:19:54,623 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:19:54,623 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:19:54,624 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:19:54,624 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:19:54,624 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:19:54,624 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:19:54,624 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:19:54,625 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:19:54,625 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:19:54,625 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:19:54,625 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:19:54,625 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:19:54,626 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:19:54,626 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:19:54,626 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:19:54,626 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:19:54,626 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:19:54,627 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:19:54,627 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:19:54,627 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:19:54,627 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:19:54,627 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:19:54,628 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:19:54,671 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:19:54,683 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:19:54,687 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:19:54,689 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:19:54,690 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:19:54,690 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/heap-data/shared_mem1_true-unreach-call.i [2018-11-23 11:19:54,764 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0c0f8015/fdc1154e36914d8fbd97cb9275424fb1/FLAG64cbf4782 [2018-11-23 11:19:55,270 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:19:55,271 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/heap-data/shared_mem1_true-unreach-call.i [2018-11-23 11:19:55,288 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0c0f8015/fdc1154e36914d8fbd97cb9275424fb1/FLAG64cbf4782 [2018-11-23 11:19:55,573 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0c0f8015/fdc1154e36914d8fbd97cb9275424fb1 [2018-11-23 11:19:55,583 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:19:55,585 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:19:55,586 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:19:55,586 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:19:55,590 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:19:55,592 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:19:55" (1/1) ... [2018-11-23 11:19:55,595 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@18f55dca and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:55, skipping insertion in model container [2018-11-23 11:19:55,595 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:19:55" (1/1) ... [2018-11-23 11:19:55,609 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:19:55,668 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:19:56,152 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:19:56,173 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:19:56,241 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:19:56,320 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:19:56,320 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56 WrapperNode [2018-11-23 11:19:56,321 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:19:56,322 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:19:56,322 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:19:56,322 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:19:56,332 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:19:56" (1/1) ... [2018-11-23 11:19:56,435 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:19:56" (1/1) ... [2018-11-23 11:19:56,444 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:19:56,445 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:19:56,445 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:19:56,445 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:19:56,454 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,455 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,460 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,461 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,481 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,488 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,490 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (1/1) ... [2018-11-23 11:19:56,495 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:19:56,495 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:19:56,495 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:19:56,496 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:19:56,497 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (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:19:56,550 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:19:56,550 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 11:19:56,551 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:19:56,551 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:19:56,551 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:19:56,551 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:19:56,551 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:19:56,551 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:19:56,552 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 11:19:56,552 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:19:56,552 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:19:58,463 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:19:58,464 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 11:19:58,464 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:19:58 BoogieIcfgContainer [2018-11-23 11:19:58,465 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:19:58,465 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:19:58,466 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:19:58,469 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:19:58,470 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:19:55" (1/3) ... [2018-11-23 11:19:58,470 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f91b821 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:19:58, skipping insertion in model container [2018-11-23 11:19:58,471 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:19:56" (2/3) ... [2018-11-23 11:19:58,471 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f91b821 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:19:58, skipping insertion in model container [2018-11-23 11:19:58,471 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:19:58" (3/3) ... [2018-11-23 11:19:58,473 INFO L112 eAbstractionObserver]: Analyzing ICFG shared_mem1_true-unreach-call.i [2018-11-23 11:19:58,484 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:19:58,492 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:19:58,511 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:19:58,540 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:19:58,541 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:19:58,541 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:19:58,541 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:19:58,542 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:19:58,542 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:19:58,542 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:19:58,542 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:19:58,543 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:19:58,560 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states. [2018-11-23 11:19:58,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 11:19:58,567 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:19:58,569 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:19:58,571 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:19:58,580 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:19:58,581 INFO L82 PathProgramCache]: Analyzing trace with hash -1922562510, now seen corresponding path program 1 times [2018-11-23 11:19:58,585 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:19:58,586 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:19:58,605 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:19:58,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:19:58,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:19:58,702 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:19:58,749 INFO L256 TraceCheckUtils]: 0: Hoare triple {23#true} call ULTIMATE.init(); {23#true} is VALID [2018-11-23 11:19:58,752 INFO L273 TraceCheckUtils]: 1: Hoare triple {23#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {23#true} is VALID [2018-11-23 11:19:58,753 INFO L273 TraceCheckUtils]: 2: Hoare triple {23#true} assume true; {23#true} is VALID [2018-11-23 11:19:58,753 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23#true} {23#true} #60#return; {23#true} is VALID [2018-11-23 11:19:58,754 INFO L256 TraceCheckUtils]: 4: Hoare triple {23#true} call #t~ret19 := main(); {23#true} is VALID [2018-11-23 11:19:58,754 INFO L273 TraceCheckUtils]: 5: Hoare triple {23#true} call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(4bv32);~m~0.base, ~m~0.offset := #t~malloc2.base, #t~malloc2.offset;call write~intINTTYPE4(100bv32, ~m~0.base, ~m~0.offset, 4bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12bv32);~head~0.base, ~head~0.offset := #t~malloc3.base, #t~malloc3.offset;call write~intINTTYPE4(1bv32, ~head~0.base, ~head~0.offset, 4bv32);call write~$Pointer$(~m~0.base, ~m~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~head~0.base, ~bvadd32(8bv32, ~head~0.offset), 4bv32);~list~0.base, ~list~0.offset := ~head~0.base, ~head~0.offset; {23#true} is VALID [2018-11-23 11:19:58,758 INFO L273 TraceCheckUtils]: 6: Hoare triple {23#true} assume !true; {24#false} is VALID [2018-11-23 11:19:58,758 INFO L273 TraceCheckUtils]: 7: Hoare triple {24#false} ~list~0.base, ~list~0.offset := ~head~0.base, ~head~0.offset; {24#false} is VALID [2018-11-23 11:19:58,758 INFO L273 TraceCheckUtils]: 8: Hoare triple {24#false} assume !!(~list~0.base != 0bv32 || ~list~0.offset != 0bv32);call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~list~0.base, ~bvadd32(4bv32, ~list~0.offset), 4bv32);call #t~mem8 := read~intINTTYPE4(#t~mem7.base, #t~mem7.offset, 4bv32); {24#false} is VALID [2018-11-23 11:19:58,759 INFO L273 TraceCheckUtils]: 9: Hoare triple {24#false} assume ~bvsle32(#t~mem8, 100bv32);havoc #t~mem7.base, #t~mem7.offset;havoc #t~mem8;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~list~0.base, ~bvadd32(4bv32, ~list~0.offset), 4bv32);call #t~mem10 := read~intINTTYPE4(#t~mem9.base, #t~mem9.offset, 4bv32);call #t~mem11 := read~intINTTYPE4(~list~0.base, ~list~0.offset, 4bv32);call write~intINTTYPE4(~bvadd32(#t~mem10, #t~mem11), #t~mem9.base, #t~mem9.offset, 4bv32);havoc #t~mem10;havoc #t~mem9.base, #t~mem9.offset;havoc #t~mem11; {24#false} is VALID [2018-11-23 11:19:58,759 INFO L273 TraceCheckUtils]: 10: Hoare triple {24#false} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~list~0.base, ~bvadd32(8bv32, ~list~0.offset), 4bv32);~list~0.base, ~list~0.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~intINTTYPE4(~m~0.base, ~m~0.offset, 4bv32);#t~short18 := ~bvsgt32(#t~mem16, 90bv32); {24#false} is VALID [2018-11-23 11:19:58,759 INFO L273 TraceCheckUtils]: 11: Hoare triple {24#false} assume #t~short18;call #t~mem17 := read~intINTTYPE4(~m~0.base, ~m~0.offset, 4bv32);#t~short18 := ~bvslt32(#t~mem17, 110bv32); {24#false} is VALID [2018-11-23 11:19:58,760 INFO L273 TraceCheckUtils]: 12: Hoare triple {24#false} assume !#t~short18;havoc #t~mem16;havoc #t~short18;havoc #t~mem17; {24#false} is VALID [2018-11-23 11:19:58,760 INFO L273 TraceCheckUtils]: 13: Hoare triple {24#false} assume !false; {24#false} is VALID [2018-11-23 11:19:58,764 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:19:58,764 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:19:58,768 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:19:58,769 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 11:19:58,773 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 11:19:58,776 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:19:58,779 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 11:19:58,934 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:19:58,934 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 11:19:58,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 11:19:58,945 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:19:58,948 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 2 states. [2018-11-23 11:20:00,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:00,439 INFO L93 Difference]: Finished difference Result 32 states and 43 transitions. [2018-11-23 11:20:00,439 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 11:20:00,439 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 11:20:00,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:20:00,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:20:00,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 43 transitions. [2018-11-23 11:20:00,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:20:00,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 43 transitions. [2018-11-23 11:20:00,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 43 transitions. [2018-11-23 11:20:00,681 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:20:00,693 INFO L225 Difference]: With dead ends: 32 [2018-11-23 11:20:00,694 INFO L226 Difference]: Without dead ends: 16 [2018-11-23 11:20:00,697 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:20:00,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states. [2018-11-23 11:20:00,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 16. [2018-11-23 11:20:00,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:20:00,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 16 states. Second operand 16 states. [2018-11-23 11:20:00,756 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 16 states. [2018-11-23 11:20:00,756 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 16 states. [2018-11-23 11:20:00,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:00,760 INFO L93 Difference]: Finished difference Result 16 states and 20 transitions. [2018-11-23 11:20:00,760 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 20 transitions. [2018-11-23 11:20:00,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:00,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:00,762 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 16 states. [2018-11-23 11:20:00,762 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 16 states. [2018-11-23 11:20:00,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:00,765 INFO L93 Difference]: Finished difference Result 16 states and 20 transitions. [2018-11-23 11:20:00,766 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 20 transitions. [2018-11-23 11:20:00,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:00,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:00,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:20:00,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:20:00,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:20:00,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 20 transitions. [2018-11-23 11:20:00,771 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 20 transitions. Word has length 14 [2018-11-23 11:20:00,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:20:00,772 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 20 transitions. [2018-11-23 11:20:00,772 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 11:20:00,772 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 20 transitions. [2018-11-23 11:20:00,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 11:20:00,774 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:20:00,774 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:20:00,774 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:20:00,775 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:20:00,775 INFO L82 PathProgramCache]: Analyzing trace with hash 2124170620, now seen corresponding path program 1 times [2018-11-23 11:20:00,778 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:20:00,778 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:20:00,804 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:20:00,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:00,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:00,941 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:20:01,265 INFO L303 Elim1Store]: Index analysis took 188 ms [2018-11-23 11:20:01,272 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 38 treesize of output 31 [2018-11-23 11:20:01,335 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:20:01,358 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:01,648 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:01,772 INFO L303 Elim1Store]: Index analysis took 234 ms [2018-11-23 11:20:01,886 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 30 treesize of output 60 [2018-11-23 11:20:02,007 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 51 treesize of output 50 [2018-11-23 11:20:02,145 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:02,175 INFO L303 Elim1Store]: Index analysis took 108 ms [2018-11-23 11:20:02,177 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 39 treesize of output 22 [2018-11-23 11:20:02,205 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:02,362 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:02,784 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:02,785 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 28 [2018-11-23 11:20:02,836 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:02,883 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 22 treesize of output 14 [2018-11-23 11:20:02,897 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:03,017 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:03,194 INFO L267 ElimStorePlain]: Start of recursive call 4: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:20:03,367 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:20:03,679 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 18 treesize of output 15 [2018-11-23 11:20:03,695 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 18 [2018-11-23 11:20:03,721 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:03,722 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:20:03,723 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 36 [2018-11-23 11:20:03,726 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:03,764 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:03,821 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,014 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 30 treesize of output 25 [2018-11-23 11:20:04,027 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:04,033 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 22 treesize of output 29 [2018-11-23 11:20:04,037 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,057 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:04,074 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:04,107 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:04,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 56 [2018-11-23 11:20:04,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:04,301 INFO L478 Elim1Store]: Elim1 applied some 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 2 new quantified variables, introduced 3 case distinctions, treesize of input 45 treesize of output 43 [2018-11-23 11:20:04,311 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:20:04,370 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,481 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 18 treesize of output 15 [2018-11-23 11:20:04,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 18 [2018-11-23 11:20:04,513 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:04,518 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:20:04,520 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,572 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,585 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:04,644 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:20:04,645 INFO L202 ElimStorePlain]: Needed 18 recursive calls to eliminate 4 variables, input treesize:100, output treesize:111 [2018-11-23 11:20:08,923 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:08,923 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, |v_#memory_int_23|, |v_#memory_$Pointer$.base_22|, |v_#memory_$Pointer$.offset_22|]. (let ((.cse0 (bvadd main_~head~0.offset (_ bv4 32))) (.cse3 (select |v_#memory_int_23| main_~head~0.base)) (.cse1 (bvadd main_~head~0.offset (_ bv8 32)))) (and (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_22| main_~head~0.base (store (store (select |v_#memory_$Pointer$.base_22| main_~head~0.base) .cse0 main_~m~0.base) .cse1 main_~head~0.base))) (= (store |v_#memory_$Pointer$.offset_22| main_~head~0.base (store (store (select |v_#memory_$Pointer$.offset_22| main_~head~0.base) .cse0 main_~m~0.offset) .cse1 main_~head~0.offset)) |#memory_$Pointer$.offset|) (= |v_#memory_int_23| (let ((.cse2 (store |v_#memory_int_24| main_~m~0.base (store (select |v_#memory_int_24| main_~m~0.base) main_~m~0.offset (_ bv100 32))))) (store .cse2 main_~head~0.base (store (store (select .cse2 main_~head~0.base) main_~head~0.offset (_ bv1 32)) .cse0 (select .cse3 .cse0))))) (= (store |v_#memory_int_23| main_~head~0.base (store .cse3 .cse1 (select (select |#memory_int| main_~head~0.base) .cse1))) |#memory_int|) (= (_ bv0 32) main_~m~0.offset) (= (_ bv0 32) main_~head~0.offset))) [2018-11-23 11:20:08,924 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse8 (bvadd main_~head~0.offset (_ bv4 32))) (.cse9 (select |#memory_$Pointer$.offset| main_~head~0.base)) (.cse7 (select |#memory_$Pointer$.base| main_~head~0.base)) (.cse10 (bvadd main_~head~0.offset (_ bv8 32)))) (let ((.cse0 (select |#memory_int| main_~m~0.base)) (.cse1 (= (select .cse7 .cse10) main_~head~0.base)) (.cse2 (= (_ bv0 32) main_~m~0.offset)) (.cse3 (= main_~head~0.offset (select .cse9 .cse10))) (.cse4 (= (select .cse9 .cse8) main_~head~0.offset)) (.cse5 (= (select .cse7 .cse8) main_~m~0.base)) (.cse6 (= (_ bv0 32) main_~head~0.offset))) (or (and (= (select .cse0 main_~m~0.offset) (_ bv100 32)) .cse1 .cse2 .cse3 .cse4 .cse5 (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) .cse6) (and (= (select .cse0 main_~head~0.offset) (_ bv1 32)) .cse1 .cse2 .cse3 (= main_~m~0.base main_~head~0.base) .cse4 .cse5 .cse6)))) [2018-11-23 11:20:09,122 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:20:09,356 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:20:09,576 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 11:20:09,703 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,705 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 99 [2018-11-23 11:20:09,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,729 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 61 treesize of output 23 [2018-11-23 11:20:09,731 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:09,754 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:09,885 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,888 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,889 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,893 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,895 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 89 treesize of output 135 [2018-11-23 11:20:09,950 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:09,993 INFO L478 Elim1Store]: Elim1 applied some 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 2 new quantified variables, introduced 4 case distinctions, treesize of input 89 treesize of output 90 [2018-11-23 11:20:10,006 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:20:10,128 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,205 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 60 treesize of output 54 [2018-11-23 11:20:10,214 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 30 treesize of output 17 [2018-11-23 11:20:10,217 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,271 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,334 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 47 treesize of output 41 [2018-11-23 11:20:10,345 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 24 treesize of output 11 [2018-11-23 11:20:10,347 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,364 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,430 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 29 treesize of output 23 [2018-11-23 11:20:10,488 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 20 treesize of output 7 [2018-11-23 11:20:10,489 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,495 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,536 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 42 treesize of output 36 [2018-11-23 11:20:10,545 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:10,546 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 26 treesize of output 18 [2018-11-23 11:20:10,550 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,565 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:10,592 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 6 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:20:10,592 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 7 variables, input treesize:200, output treesize:36 [2018-11-23 11:20:12,757 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:12,758 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_23|, main_~list~0.base, |v_#memory_int_25|, |v_#memory_$Pointer$.offset_23|, v_prenex_4, v_prenex_2, v_prenex_3]. (let ((.cse5 (= (_ bv0 32) main_~m~0.offset))) (or (let ((.cse3 (select v_prenex_4 main_~m~0.base))) (let ((.cse2 (select v_prenex_3 main_~m~0.base)) (.cse4 (select .cse3 (_ bv4 32)))) (let ((.cse7 (select v_prenex_2 .cse4)) (.cse6 (select .cse2 (_ bv4 32)))) (let ((.cse0 (select .cse7 .cse6)) (.cse1 (select (select v_prenex_2 main_~m~0.base) (_ bv0 32)))) (and (bvsle .cse0 (_ bv100 32)) (= (_ bv1 32) .cse1) (= (select .cse2 (_ bv8 32)) (_ bv0 32)) (= main_~m~0.base (select .cse3 (_ bv8 32))) (= .cse4 main_~m~0.base) .cse5 (= .cse6 (_ bv0 32)) (= |#memory_int| (store v_prenex_2 .cse4 (store .cse7 .cse6 (bvadd .cse0 .cse1))))))))) (let ((.cse11 (select |v_#memory_$Pointer$.base_23| main_~list~0.base))) (let ((.cse9 (select |v_#memory_$Pointer$.offset_23| main_~list~0.base)) (.cse10 (select .cse11 (_ bv4 32)))) (let ((.cse13 (select |v_#memory_int_25| .cse10)) (.cse12 (select .cse9 (_ bv4 32)))) (let ((.cse8 (select .cse13 .cse12)) (.cse14 (select (select |v_#memory_int_25| main_~list~0.base) (_ bv0 32)))) (and (bvsle .cse8 (_ bv100 32)) (= (select .cse9 (_ bv8 32)) (_ bv0 32)) (= (bvadd (select (select |v_#memory_int_25| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= main_~m~0.base .cse10) (= main_~list~0.base (select .cse11 (_ bv8 32))) (= .cse12 (_ bv0 32)) .cse5 (= (store |v_#memory_int_25| .cse10 (store .cse13 .cse12 (bvadd .cse8 .cse14))) |#memory_int|) (= (_ bv1 32) .cse14)))))))) [2018-11-23 11:20:12,758 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~list~0.base]. (let ((.cse1 (= (_ bv0 32) main_~m~0.offset)) (.cse0 (select (select |#memory_int| main_~m~0.base) (_ bv0 32)))) (or (and (= (_ bv2 32) .cse0) .cse1) (let ((.cse2 (select (select |#memory_int| main_~list~0.base) (_ bv0 32)))) (and (= .cse2 (_ bv1 32)) .cse1 (= (bvadd .cse2 (_ bv100 32)) .cse0))))) [2018-11-23 11:20:13,210 INFO L256 TraceCheckUtils]: 0: Hoare triple {159#true} call ULTIMATE.init(); {159#true} is VALID [2018-11-23 11:20:13,210 INFO L273 TraceCheckUtils]: 1: Hoare triple {159#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {159#true} is VALID [2018-11-23 11:20:13,210 INFO L273 TraceCheckUtils]: 2: Hoare triple {159#true} assume true; {159#true} is VALID [2018-11-23 11:20:13,211 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {159#true} {159#true} #60#return; {159#true} is VALID [2018-11-23 11:20:13,211 INFO L256 TraceCheckUtils]: 4: Hoare triple {159#true} call #t~ret19 := main(); {159#true} is VALID [2018-11-23 11:20:13,216 INFO L273 TraceCheckUtils]: 5: Hoare triple {159#true} call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(4bv32);~m~0.base, ~m~0.offset := #t~malloc2.base, #t~malloc2.offset;call write~intINTTYPE4(100bv32, ~m~0.base, ~m~0.offset, 4bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12bv32);~head~0.base, ~head~0.offset := #t~malloc3.base, #t~malloc3.offset;call write~intINTTYPE4(1bv32, ~head~0.base, ~head~0.offset, 4bv32);call write~$Pointer$(~m~0.base, ~m~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~head~0.base, ~bvadd32(8bv32, ~head~0.offset), 4bv32);~list~0.base, ~list~0.offset := ~head~0.base, ~head~0.offset; {179#(or (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset)) (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~head~0.offset) (_ bv4294967295 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~m~0.base main_~head~0.base) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv0 32) main_~head~0.offset)))} is VALID [2018-11-23 11:20:13,218 INFO L273 TraceCheckUtils]: 6: Hoare triple {179#(or (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset)) (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~head~0.offset) (_ bv4294967295 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~m~0.base main_~head~0.base) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv0 32) main_~head~0.offset)))} assume !(0bv32 != #t~nondet4);havoc #t~nondet4; {179#(or (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset)) (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~head~0.offset) (_ bv4294967295 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~m~0.base main_~head~0.base) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv0 32) main_~head~0.offset)))} is VALID [2018-11-23 11:20:13,221 INFO L273 TraceCheckUtils]: 7: Hoare triple {179#(or (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset)) (and (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~head~0.offset) (_ bv4294967295 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~m~0.base main_~head~0.base) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv0 32) main_~head~0.offset)))} ~list~0.base, ~list~0.offset := ~head~0.base, ~head~0.offset; {186#(or (and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32))))) (and (= (_ bv1 32) (select (select |#memory_int| main_~m~0.base) main_~list~0.offset)) (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~m~0.base main_~list~0.base) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32))))))} is VALID [2018-11-23 11:20:13,223 INFO L273 TraceCheckUtils]: 8: Hoare triple {186#(or (and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32))))) (and (= (_ bv1 32) (select (select |#memory_int| main_~m~0.base) main_~list~0.offset)) (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~m~0.base main_~list~0.base) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32))))))} assume !!(~list~0.base != 0bv32 || ~list~0.offset != 0bv32);call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~list~0.base, ~bvadd32(4bv32, ~list~0.offset), 4bv32);call #t~mem8 := read~intINTTYPE4(#t~mem7.base, #t~mem7.offset, 4bv32); {190#(and (or (and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32))))) (and (= (_ bv1 32) (select (select |#memory_int| main_~m~0.base) main_~list~0.offset)) (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~m~0.base main_~list~0.base) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) |main_#t~mem8|))} is VALID [2018-11-23 11:20:13,238 INFO L273 TraceCheckUtils]: 9: Hoare triple {190#(and (or (and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (bvadd (select (select |#memory_int| main_~m~0.base) main_~m~0.offset) (_ bv4294967196 32)) (_ bv0 32)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32))))) (and (= (_ bv1 32) (select (select |#memory_int| main_~m~0.base) main_~list~0.offset)) (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= main_~m~0.base main_~list~0.base) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) |main_#t~mem8|))} assume ~bvsle32(#t~mem8, 100bv32);havoc #t~mem7.base, #t~mem7.offset;havoc #t~mem8;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~list~0.base, ~bvadd32(4bv32, ~list~0.offset), 4bv32);call #t~mem10 := read~intINTTYPE4(#t~mem9.base, #t~mem9.offset, 4bv32);call #t~mem11 := read~intINTTYPE4(~list~0.base, ~list~0.offset, 4bv32);call write~intINTTYPE4(~bvadd32(#t~mem10, #t~mem11), #t~mem9.base, #t~mem9.offset, 4bv32);havoc #t~mem10;havoc #t~mem9.base, #t~mem9.offset;havoc #t~mem11; {194#(or (and (= (_ bv2 32) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))) (= (_ bv0 32) main_~m~0.offset)) (and (= (_ bv0 32) main_~m~0.offset) (exists ((main_~list~0.base (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32)))))))} is VALID [2018-11-23 11:20:13,241 INFO L273 TraceCheckUtils]: 10: Hoare triple {194#(or (and (= (_ bv2 32) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))) (= (_ bv0 32) main_~m~0.offset)) (and (= (_ bv0 32) main_~m~0.offset) (exists ((main_~list~0.base (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32)))))))} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~list~0.base, ~bvadd32(8bv32, ~list~0.offset), 4bv32);~list~0.base, ~list~0.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~intINTTYPE4(~m~0.base, ~m~0.offset, 4bv32);#t~short18 := ~bvsgt32(#t~mem16, 90bv32); {198#(or (and |main_#t~short18| (= (_ bv0 32) main_~m~0.offset) (exists ((main_~list~0.base (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32)))))) (and (= (_ bv2 32) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))) (= (_ bv0 32) main_~m~0.offset) (not |main_#t~short18|)))} is VALID [2018-11-23 11:20:13,244 INFO L273 TraceCheckUtils]: 11: Hoare triple {198#(or (and |main_#t~short18| (= (_ bv0 32) main_~m~0.offset) (exists ((main_~list~0.base (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32)))))) (and (= (_ bv2 32) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))) (= (_ bv0 32) main_~m~0.offset) (not |main_#t~short18|)))} assume #t~short18;call #t~mem17 := read~intINTTYPE4(~m~0.base, ~m~0.offset, 4bv32);#t~short18 := ~bvslt32(#t~mem17, 110bv32); {202#|main_#t~short18|} is VALID [2018-11-23 11:20:13,245 INFO L273 TraceCheckUtils]: 12: Hoare triple {202#|main_#t~short18|} assume !#t~short18;havoc #t~mem16;havoc #t~short18;havoc #t~mem17; {160#false} is VALID [2018-11-23 11:20:13,245 INFO L273 TraceCheckUtils]: 13: Hoare triple {160#false} assume !false; {160#false} is VALID [2018-11-23 11:20:13,250 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:20:13,250 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:20:13,254 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:20:13,254 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 11:20:13,256 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2018-11-23 11:20:13,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:20:13,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 11:20:13,328 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:20:13,328 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 11:20:13,328 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 11:20:13,329 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:20:13,329 INFO L87 Difference]: Start difference. First operand 16 states and 20 transitions. Second operand 8 states. [2018-11-23 11:20:16,635 WARN L180 SmtUtils]: Spent 468.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 66 [2018-11-23 11:20:20,672 WARN L180 SmtUtils]: Spent 607.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 70 [2018-11-23 11:20:21,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:21,913 INFO L93 Difference]: Finished difference Result 36 states and 48 transitions. [2018-11-23 11:20:21,913 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:20:21,913 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 14 [2018-11-23 11:20:21,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:20:21,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 11:20:21,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2018-11-23 11:20:21,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 11:20:21,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2018-11-23 11:20:21,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 48 transitions. [2018-11-23 11:20:22,063 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:20:22,066 INFO L225 Difference]: With dead ends: 36 [2018-11-23 11:20:22,066 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 11:20:22,067 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2018-11-23 11:20:22,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 11:20:22,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 24. [2018-11-23 11:20:22,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:20:22,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 24 states. [2018-11-23 11:20:22,102 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 24 states. [2018-11-23 11:20:22,102 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 24 states. [2018-11-23 11:20:22,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:22,106 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2018-11-23 11:20:22,106 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2018-11-23 11:20:22,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:22,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:22,107 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 29 states. [2018-11-23 11:20:22,107 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 29 states. [2018-11-23 11:20:22,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:22,110 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2018-11-23 11:20:22,110 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2018-11-23 11:20:22,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:22,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:22,111 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:20:22,111 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:20:22,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 11:20:22,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 31 transitions. [2018-11-23 11:20:22,113 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 31 transitions. Word has length 14 [2018-11-23 11:20:22,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:20:22,114 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 31 transitions. [2018-11-23 11:20:22,114 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 11:20:22,114 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 31 transitions. [2018-11-23 11:20:22,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 11:20:22,115 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:20:22,115 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:20:22,115 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:20:22,115 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:20:22,116 INFO L82 PathProgramCache]: Analyzing trace with hash 2124172542, now seen corresponding path program 1 times [2018-11-23 11:20:22,116 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:20:22,116 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:20:22,139 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:20:22,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:22,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:22,229 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:20:22,818 WARN L180 SmtUtils]: Spent 520.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 11:20:22,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 11:20:22,847 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:23,433 INFO L303 Elim1Store]: Index analysis took 139 ms [2018-11-23 11:20:23,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 15 [2018-11-23 11:20:23,466 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 18 [2018-11-23 11:20:23,511 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:23,512 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:20:23,513 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 36 [2018-11-23 11:20:23,516 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:23,660 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:23,769 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:24,114 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 15 [2018-11-23 11:20:24,131 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 15 treesize of output 18 [2018-11-23 11:20:24,166 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:24,168 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 18 treesize of output 27 [2018-11-23 11:20:24,172 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:24,257 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:24,319 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:24,538 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:20:24,560 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:20:24,735 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 42 [2018-11-23 11:20:24,750 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 14 treesize of output 13 [2018-11-23 11:20:24,753 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:24,825 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:24,837 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 79 [2018-11-23 11:20:24,858 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 56 treesize of output 55 [2018-11-23 11:20:24,878 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:24,894 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 58 [2018-11-23 11:20:24,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:24,927 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:24,931 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:24,956 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 51 [2018-11-23 11:20:24,960 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:24,983 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:25,005 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:25,023 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:25,041 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:25,107 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:25,107 INFO L202 ElimStorePlain]: Needed 16 recursive calls to eliminate 5 variables, input treesize:108, output treesize:63 [2018-11-23 11:20:27,512 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:27,513 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, |v_#memory_int_26|, |v_#memory_$Pointer$.base_24|, |v_#valid_12|, |v_#memory_$Pointer$.offset_24|]. (let ((.cse1 (bvadd main_~head~0.offset (_ bv8 32))) (.cse2 (select |v_#memory_int_26| main_~head~0.base)) (.cse0 (bvadd main_~head~0.offset (_ bv4 32)))) (and (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_24| main_~head~0.base (store (store (select |v_#memory_$Pointer$.base_24| main_~head~0.base) .cse0 main_~m~0.base) .cse1 main_~head~0.base))) (= (select (store |v_#valid_12| main_~m~0.base (_ bv1 1)) main_~head~0.base) (_ bv0 1)) (= (store |v_#memory_int_26| main_~head~0.base (store .cse2 .cse1 (select (select |#memory_int| main_~head~0.base) .cse1))) |#memory_int|) (= (store |v_#memory_$Pointer$.offset_24| main_~head~0.base (store (store (select |v_#memory_$Pointer$.offset_24| main_~head~0.base) .cse0 main_~m~0.offset) .cse1 main_~head~0.offset)) |#memory_$Pointer$.offset|) (= (_ bv0 32) main_~m~0.offset) (= |v_#memory_int_26| (let ((.cse3 (store |v_#memory_int_27| main_~m~0.base (store (select |v_#memory_int_27| main_~m~0.base) main_~m~0.offset (_ bv100 32))))) (store .cse3 main_~head~0.base (store (store (select .cse3 main_~head~0.base) main_~head~0.offset (_ bv1 32)) .cse0 (select .cse2 .cse0))))) (= (_ bv0 32) main_~head~0.offset))) [2018-11-23 11:20:27,513 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select |#memory_$Pointer$.base| main_~head~0.base)) (.cse4 (bvadd main_~head~0.offset (_ bv4 32)))) (let ((.cse2 (bvadd main_~head~0.offset (_ bv8 32))) (.cse3 (select |#memory_$Pointer$.offset| main_~head~0.base)) (.cse0 (select .cse1 .cse4))) (and (= (_ bv100 32) (select (select |#memory_int| .cse0) main_~m~0.offset)) (= (select .cse1 .cse2) main_~head~0.base) (= (_ bv0 32) main_~m~0.offset) (= main_~head~0.offset (select .cse3 .cse2)) (= (select .cse3 .cse4) main_~head~0.offset) (= .cse0 main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset)))) [2018-11-23 11:20:27,779 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 67 treesize of output 55 [2018-11-23 11:20:27,799 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:27,800 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 55 treesize of output 41 [2018-11-23 11:20:27,805 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:27,822 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:27,904 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:27,907 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:27,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:27,913 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:27,914 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 94 [2018-11-23 11:20:27,941 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:27,997 INFO L478 Elim1Store]: Elim1 applied some 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 2 new quantified variables, introduced 4 case distinctions, treesize of input 83 treesize of output 78 [2018-11-23 11:20:28,025 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:20:28,078 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:28,099 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 32 treesize of output 26 [2018-11-23 11:20:28,105 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 26 treesize of output 13 [2018-11-23 11:20:28,141 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:28,155 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:28,167 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 3 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:20:28,167 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:91, output treesize:24 [2018-11-23 11:20:30,779 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:30,779 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_25|, main_~list~0.base, |v_#memory_int_28|, |v_#memory_$Pointer$.offset_25|]. (let ((.cse1 (select |v_#memory_$Pointer$.base_25| main_~list~0.base))) (let ((.cse2 (select |v_#memory_$Pointer$.offset_25| main_~list~0.base)) (.cse5 (select .cse1 (_ bv4 32)))) (let ((.cse4 (select |v_#memory_int_28| .cse5)) (.cse0 (select .cse2 (_ bv4 32))) (.cse3 (select (select |v_#memory_int_28| main_~list~0.base) (_ bv0 32)))) (and (= (_ bv0 32) .cse0) (= main_~list~0.base (select .cse1 (_ bv8 32))) (= (_ bv0 32) (select .cse2 (_ bv8 32))) (= (_ bv1 32) .cse3) (= (_ bv100 32) (select .cse4 main_~m~0.offset)) (= (_ bv0 32) main_~m~0.offset) (= main_~m~0.base .cse5) (= (store |v_#memory_int_28| .cse5 (store .cse4 .cse0 (bvadd (select .cse4 .cse0) .cse3))) |#memory_int|))))) [2018-11-23 11:20:30,780 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~list~0.base]. (let ((.cse0 (select (select |#memory_int| main_~list~0.base) (_ bv0 32)))) (and (= .cse0 (_ bv1 32)) (= (_ bv0 32) main_~m~0.offset) (= (bvadd .cse0 (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))))) [2018-11-23 11:20:30,872 INFO L256 TraceCheckUtils]: 0: Hoare triple {350#true} call ULTIMATE.init(); {350#true} is VALID [2018-11-23 11:20:30,872 INFO L273 TraceCheckUtils]: 1: Hoare triple {350#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {350#true} is VALID [2018-11-23 11:20:30,873 INFO L273 TraceCheckUtils]: 2: Hoare triple {350#true} assume true; {350#true} is VALID [2018-11-23 11:20:30,873 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {350#true} {350#true} #60#return; {350#true} is VALID [2018-11-23 11:20:30,873 INFO L256 TraceCheckUtils]: 4: Hoare triple {350#true} call #t~ret19 := main(); {350#true} is VALID [2018-11-23 11:20:30,879 INFO L273 TraceCheckUtils]: 5: Hoare triple {350#true} call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(4bv32);~m~0.base, ~m~0.offset := #t~malloc2.base, #t~malloc2.offset;call write~intINTTYPE4(100bv32, ~m~0.base, ~m~0.offset, 4bv32);call #t~malloc3.base, #t~malloc3.offset := #Ultimate.alloc(12bv32);~head~0.base, ~head~0.offset := #t~malloc3.base, #t~malloc3.offset;call write~intINTTYPE4(1bv32, ~head~0.base, ~head~0.offset, 4bv32);call write~$Pointer$(~m~0.base, ~m~0.offset, ~head~0.base, ~bvadd32(4bv32, ~head~0.offset), 4bv32);call write~$Pointer$(~head~0.base, ~head~0.offset, ~head~0.base, ~bvadd32(8bv32, ~head~0.offset), 4bv32);~list~0.base, ~list~0.offset := ~head~0.base, ~head~0.offset; {370#(and (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset))} is VALID [2018-11-23 11:20:30,880 INFO L273 TraceCheckUtils]: 6: Hoare triple {370#(and (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset))} assume !(0bv32 != #t~nondet4);havoc #t~nondet4; {370#(and (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset))} is VALID [2018-11-23 11:20:30,882 INFO L273 TraceCheckUtils]: 7: Hoare triple {370#(and (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32))) main_~head~0.base) (= main_~head~0.offset (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv8 32)))) (= (_ bv0 32) main_~m~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~head~0.offset) (= (select (select |#memory_$Pointer$.base| main_~head~0.base) (bvadd main_~head~0.offset (_ bv4 32))) main_~m~0.base) (= (_ bv1 32) (select (select |#memory_int| main_~head~0.base) main_~head~0.offset)) (= (_ bv0 32) main_~head~0.offset))} ~list~0.base, ~list~0.offset := ~head~0.base, ~head~0.offset; {377#(and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))))} is VALID [2018-11-23 11:20:30,884 INFO L273 TraceCheckUtils]: 8: Hoare triple {377#(and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))))} assume !!(~list~0.base != 0bv32 || ~list~0.offset != 0bv32);call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~list~0.base, ~bvadd32(4bv32, ~list~0.offset), 4bv32);call #t~mem8 := read~intINTTYPE4(#t~mem7.base, #t~mem7.offset, 4bv32); {377#(and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))))} is VALID [2018-11-23 11:20:30,893 INFO L273 TraceCheckUtils]: 9: Hoare triple {377#(and (= main_~m~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv100 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) main_~m~0.offset)) (= (_ bv1 32) (select (select |#memory_int| main_~list~0.base) main_~list~0.offset)) (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv4 32)))) (= (_ bv0 32) main_~m~0.offset) (= main_~list~0.offset (_ bv0 32)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) (bvadd main_~list~0.offset (_ bv8 32)))))} assume ~bvsle32(#t~mem8, 100bv32);havoc #t~mem7.base, #t~mem7.offset;havoc #t~mem8;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~list~0.base, ~bvadd32(4bv32, ~list~0.offset), 4bv32);call #t~mem10 := read~intINTTYPE4(#t~mem9.base, #t~mem9.offset, 4bv32);call #t~mem11 := read~intINTTYPE4(~list~0.base, ~list~0.offset, 4bv32);call write~intINTTYPE4(~bvadd32(#t~mem10, #t~mem11), #t~mem9.base, #t~mem9.offset, 4bv32);havoc #t~mem10;havoc #t~mem9.base, #t~mem9.offset;havoc #t~mem11; {384#(and (= (_ bv0 32) main_~m~0.offset) (exists ((main_~list~0.base (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))))))} is VALID [2018-11-23 11:20:30,896 INFO L273 TraceCheckUtils]: 10: Hoare triple {384#(and (= (_ bv0 32) main_~m~0.offset) (exists ((main_~list~0.base (_ BitVec 32))) (and (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv4294967295 32)) (_ bv0 32)) (= (bvadd (select (select |#memory_int| main_~list~0.base) (_ bv0 32)) (_ bv100 32)) (select (select |#memory_int| main_~m~0.base) (_ bv0 32))))))} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~list~0.base, ~bvadd32(8bv32, ~list~0.offset), 4bv32);~list~0.base, ~list~0.offset := #t~mem15.base, #t~mem15.offset;havoc #t~mem15.base, #t~mem15.offset;call #t~mem16 := read~intINTTYPE4(~m~0.base, ~m~0.offset, 4bv32);#t~short18 := ~bvsgt32(#t~mem16, 90bv32); {388#|main_#t~short18|} is VALID [2018-11-23 11:20:30,897 INFO L273 TraceCheckUtils]: 11: Hoare triple {388#|main_#t~short18|} assume !#t~short18; {351#false} is VALID [2018-11-23 11:20:30,897 INFO L273 TraceCheckUtils]: 12: Hoare triple {351#false} assume !#t~short18;havoc #t~mem16;havoc #t~short18;havoc #t~mem17; {351#false} is VALID [2018-11-23 11:20:30,897 INFO L273 TraceCheckUtils]: 13: Hoare triple {351#false} assume !false; {351#false} is VALID [2018-11-23 11:20:30,900 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:20:30,900 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:20:30,902 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:20:30,903 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:20:30,903 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 14 [2018-11-23 11:20:30,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:20:30,903 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:20:30,942 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:20:30,942 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:20:30,943 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:20:30,943 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:20:30,943 INFO L87 Difference]: Start difference. First operand 24 states and 31 transitions. Second operand 6 states. [2018-11-23 11:20:33,124 WARN L180 SmtUtils]: Spent 185.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 51 [2018-11-23 11:20:37,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:37,208 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2018-11-23 11:20:37,208 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:20:37,208 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 14 [2018-11-23 11:20:37,209 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:20:37,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:20:37,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2018-11-23 11:20:37,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:20:37,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2018-11-23 11:20:37,214 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2018-11-23 11:20:37,335 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:20:37,337 INFO L225 Difference]: With dead ends: 33 [2018-11-23 11:20:37,338 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 11:20:37,338 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:20:37,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 11:20:37,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 24. [2018-11-23 11:20:37,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:20:37,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 24 states. [2018-11-23 11:20:37,379 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 24 states. [2018-11-23 11:20:37,379 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 24 states. [2018-11-23 11:20:37,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:37,383 INFO L93 Difference]: Finished difference Result 26 states and 33 transitions. [2018-11-23 11:20:37,383 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2018-11-23 11:20:37,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:37,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:37,384 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 26 states. [2018-11-23 11:20:37,384 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 26 states. [2018-11-23 11:20:37,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:20:37,387 INFO L93 Difference]: Finished difference Result 26 states and 33 transitions. [2018-11-23 11:20:37,387 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 33 transitions. [2018-11-23 11:20:37,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:20:37,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:20:37,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:20:37,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:20:37,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 11:20:37,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 30 transitions. [2018-11-23 11:20:37,390 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 30 transitions. Word has length 14 [2018-11-23 11:20:37,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:20:37,390 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 30 transitions. [2018-11-23 11:20:37,391 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:20:37,391 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 30 transitions. [2018-11-23 11:20:37,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 11:20:37,392 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:20:37,392 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:20:37,392 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:20:37,392 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:20:37,392 INFO L82 PathProgramCache]: Analyzing trace with hash 381189631, now seen corresponding path program 1 times [2018-11-23 11:20:37,393 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:20:37,393 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:20:37,413 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:20:37,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:37,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:20:37,557 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:20:37,682 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 9 treesize of output 12 [2018-11-23 11:20:37,791 INFO L303 Elim1Store]: Index analysis took 105 ms [2018-11-23 11:20:37,792 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 12 treesize of output 11 [2018-11-23 11:20:37,793 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:38,110 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:39,038 INFO L303 Elim1Store]: Index analysis took 110 ms [2018-11-23 11:20:39,039 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 38 treesize of output 31 [2018-11-23 11:20:39,069 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 11:20:39,071 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:39,471 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:39,525 INFO L303 Elim1Store]: Index analysis took 304 ms [2018-11-23 11:20:39,595 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 30 treesize of output 60 [2018-11-23 11:20:39,787 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:39,788 INFO L303 Elim1Store]: Index analysis took 169 ms [2018-11-23 11:20:39,837 INFO L478 Elim1Store]: Elim1 applied some 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 3 new quantified variables, introduced 3 case distinctions, treesize of input 48 treesize of output 62 [2018-11-23 11:20:40,432 WARN L180 SmtUtils]: Spent 490.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 52 [2018-11-23 11:20:40,468 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:40,495 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 35 [2018-11-23 11:20:40,498 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:40,887 INFO L267 ElimStorePlain]: Start of recursive call 7: 2 dim-0 vars, 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:41,350 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 27 treesize of output 29 [2018-11-23 11:20:41,388 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:41,422 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 29 [2018-11-23 11:20:41,424 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:41,519 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:41,791 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:20:41,979 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:20:42,443 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 18 treesize of output 15 [2018-11-23 11:20:42,463 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 18 [2018-11-23 11:20:42,479 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:42,491 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:20:42,493 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:42,537 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:42,581 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:42,879 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 30 treesize of output 34 [2018-11-23 11:20:42,895 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:42,902 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 41 [2018-11-23 11:20:42,905 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:42,931 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:42,956 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:42,966 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:43,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:43,011 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 83 [2018-11-23 11:20:43,051 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:43,261 INFO L478 Elim1Store]: Elim1 applied some 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 2 new quantified variables, introduced 3 case distinctions, treesize of input 63 treesize of output 94 [2018-11-23 11:20:43,271 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:20:43,404 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:43,537 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 18 treesize of output 21 [2018-11-23 11:20:43,548 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 21 treesize of output 24 [2018-11-23 11:20:43,559 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:20:43,559 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 11:20:43,560 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 24 treesize of output 54 [2018-11-23 11:20:43,594 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-23 11:20:43,716 INFO L267 ElimStorePlain]: Start of recursive call 19: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:43,740 INFO L267 ElimStorePlain]: Start of recursive call 18: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:20:43,838 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, 4 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 11:20:43,839 INFO L202 ElimStorePlain]: Needed 20 recursive calls to eliminate 6 variables, input treesize:115, output treesize:185 [2018-11-23 11:20:48,229 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:20:48,230 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, |v_#memory_int_29|, |v_#memory_$Pointer$.offset_26|, |v_#memory_$Pointer$.base_26|, |v_#valid_13|, |main_#t~malloc2.base|]. (let ((.cse0 (bvadd main_~head~0.offset (_ bv4 32))) (.cse3 (select |v_#memory_int_29| main_~head~0.base)) (.cse1 (bvadd main_~head~0.offset (_ bv8 32)))) (and (= |#memory_$Pointer$.offset| (store |v_#memory_$Pointer$.offset_26| main_~head~0.base (store (store (select |v_#memory_$Pointer$.offset_26| main_~head~0.base) .cse0 main_~m~0.offset) .cse1 main_~head~0.offset))) (= |v_#memory_int_29| (let ((.cse2 (store |v_#memory_int_32| main_~m~0.base (store (select |v_#memory_int_32| main_~m~0.base) main_~m~0.offset (_ bv100 32))))) (store .cse2 main_~head~0.base (store (store (select .cse2 main_~head~0.base) main_~head~0.offset (_ bv1 32)) .cse0 (select .cse3 .cse0))))) (= (store |v_#memory_$Pointer$.base_26| main_~head~0.base (store (store (select |v_#memory_$Pointer$.base_26| main_~head~0.base) .cse0 main_~m~0.base) .cse1 main_~head~0.base)) |#memory_$Pointer$.base|) (= main_~list~0.base main_~head~0.base) (= main_~list~0.offset main_~head~0.offset) (= (_ bv0 32) main_~m~0.offset) (= |#memory_int| (store |v_#memory_int_29| main_~head~0.base (store .cse3 .cse1 (select (select |#memory_int| main_~head~0.base) .cse1)))) (= |#valid| (store (store |v_#valid_13| |main_#t~malloc2.base| (_ bv1 1)) main_~head~0.base (_ bv1 1))) (= (_ bv0 32) main_~head~0.offset))) [2018-11-23 11:20:48,230 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [|main_#t~malloc2.base|, v_prenex_11]. (let ((.cse15 (select |#memory_$Pointer$.base| main_~list~0.base)) (.cse12 (bvadd main_~head~0.offset (_ bv8 32)))) (let ((.cse13 (select .cse15 .cse12)) (.cse14 (bvadd main_~head~0.offset (_ bv4 32)))) (let ((.cse10 (select .cse15 .cse14)) (.cse11 (select |#memory_$Pointer$.offset| .cse13))) (let ((.cse0 (= (select .cse11 .cse14) main_~head~0.offset)) (.cse1 (= .cse13 main_~head~0.base)) (.cse3 (= main_~list~0.base main_~head~0.base)) (.cse4 (= .cse10 main_~m~0.base)) (.cse2 (= (select (select |#memory_int| .cse13) main_~head~0.offset) (_ bv1 32))) (.cse5 (= (_ bv1 1) (select |#valid| main_~list~0.base))) (.cse6 (= main_~list~0.offset main_~head~0.offset)) (.cse7 (= (_ bv0 32) main_~m~0.offset)) (.cse8 (= (select .cse11 .cse12) main_~head~0.offset)) (.cse9 (= (_ bv0 32) main_~head~0.offset))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= (_ bv1 1) (select |#valid| |main_#t~malloc2.base|)) .cse5 (= main_~m~0.base main_~list~0.base) .cse6 .cse7 .cse8 .cse9) (and .cse0 .cse1 .cse3 .cse4 (= (_ bv100 32) (select (select |#memory_int| .cse10) main_~m~0.offset)) .cse2 (= (_ bv1 1) (select |#valid| v_prenex_11)) .cse5 .cse6 .cse7 .cse8 .cse9)))))) [2018-11-23 11:20:48,653 WARN L180 SmtUtils]: Spent 380.00 ms on a formula simplification. DAG size of input: 53 DAG size of output: 45