java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_oct.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-9-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-b7bd044-m [2019-01-18 14:54:04,536 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-01-18 14:54:04,538 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-01-18 14:54:04,557 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-01-18 14:54:04,558 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-01-18 14:54:04,559 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-01-18 14:54:04,563 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-01-18 14:54:04,565 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-01-18 14:54:04,569 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-01-18 14:54:04,569 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-01-18 14:54:04,571 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-01-18 14:54:04,572 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-01-18 14:54:04,573 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-01-18 14:54:04,574 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-01-18 14:54:04,577 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-01-18 14:54:04,578 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-01-18 14:54:04,579 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-01-18 14:54:04,588 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-01-18 14:54:04,590 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-01-18 14:54:04,596 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-01-18 14:54:04,597 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-01-18 14:54:04,601 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-01-18 14:54:04,604 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-01-18 14:54:04,605 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-01-18 14:54:04,605 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-01-18 14:54:04,606 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-01-18 14:54:04,607 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-01-18 14:54:04,607 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-01-18 14:54:04,612 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-01-18 14:54:04,614 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-01-18 14:54:04,614 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-01-18 14:54:04,615 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-01-18 14:54:04,615 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-01-18 14:54:04,616 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-01-18 14:54:04,617 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-01-18 14:54:04,619 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-01-18 14:54:04,619 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_oct.epf [2019-01-18 14:54:04,641 INFO L110 SettingsManager]: Loading preferences was successful [2019-01-18 14:54:04,641 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-01-18 14:54:04,644 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-01-18 14:54:04,644 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-01-18 14:54:04,644 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-01-18 14:54:04,645 INFO L133 SettingsManager]: * User list type=DISABLED [2019-01-18 14:54:04,645 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-01-18 14:54:04,645 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-01-18 14:54:04,645 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-01-18 14:54:04,645 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2019-01-18 14:54:04,646 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2019-01-18 14:54:04,646 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-01-18 14:54:04,646 INFO L133 SettingsManager]: * Interval Domain=false [2019-01-18 14:54:04,647 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-01-18 14:54:04,648 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-01-18 14:54:04,648 INFO L133 SettingsManager]: * Use SBE=true [2019-01-18 14:54:04,648 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-01-18 14:54:04,648 INFO L133 SettingsManager]: * sizeof long=4 [2019-01-18 14:54:04,648 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-01-18 14:54:04,649 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-01-18 14:54:04,649 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-01-18 14:54:04,649 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-01-18 14:54:04,649 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-01-18 14:54:04,649 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-01-18 14:54:04,650 INFO L133 SettingsManager]: * sizeof long double=12 [2019-01-18 14:54:04,651 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-01-18 14:54:04,651 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-01-18 14:54:04,652 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-01-18 14:54:04,652 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-01-18 14:54:04,652 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-01-18 14:54:04,652 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-01-18 14:54:04,653 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-01-18 14:54:04,653 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-01-18 14:54:04,653 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-01-18 14:54:04,653 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-01-18 14:54:04,653 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-01-18 14:54:04,654 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-01-18 14:54:04,654 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-01-18 14:54:04,654 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-01-18 14:54:04,707 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-01-18 14:54:04,719 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-01-18 14:54:04,723 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-01-18 14:54:04,724 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-01-18 14:54:04,725 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-01-18 14:54:04,726 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-9-unlimited.bpl [2019-01-18 14:54:04,726 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-9-unlimited.bpl' [2019-01-18 14:54:04,771 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-01-18 14:54:04,773 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-01-18 14:54:04,774 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-01-18 14:54:04,774 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-01-18 14:54:04,774 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-01-18 14:54:04,793 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,806 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,839 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-01-18 14:54:04,841 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-01-18 14:54:04,841 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-01-18 14:54:04,841 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-01-18 14:54:04,853 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,853 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,856 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,856 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,860 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,864 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,866 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/1) ... [2019-01-18 14:54:04,868 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-01-18 14:54:04,868 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-01-18 14:54:04,868 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-01-18 14:54:04,868 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-01-18 14:54:04,869 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (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 [2019-01-18 14:54:04,938 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-01-18 14:54:04,938 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-01-18 14:54:06,019 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-01-18 14:54:06,020 INFO L286 CfgBuilder]: Removed 21 assue(true) statements. [2019-01-18 14:54:06,021 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.01 02:54:06 BoogieIcfgContainer [2019-01-18 14:54:06,021 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-01-18 14:54:06,022 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-01-18 14:54:06,023 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-01-18 14:54:06,026 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-01-18 14:54:06,026 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 02:54:04" (1/2) ... [2019-01-18 14:54:06,027 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@31189698 and model type speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.01 02:54:06, skipping insertion in model container [2019-01-18 14:54:06,028 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-9-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.01 02:54:06" (2/2) ... [2019-01-18 14:54:06,030 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-9-unlimited.bpl [2019-01-18 14:54:06,040 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-01-18 14:54:06,049 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 9 error locations. [2019-01-18 14:54:06,067 INFO L257 AbstractCegarLoop]: Starting to check reachability of 9 error locations. [2019-01-18 14:54:06,101 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-01-18 14:54:06,102 INFO L383 AbstractCegarLoop]: Hoare is true [2019-01-18 14:54:06,102 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-01-18 14:54:06,102 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-01-18 14:54:06,103 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-01-18 14:54:06,103 INFO L387 AbstractCegarLoop]: Difference is false [2019-01-18 14:54:06,103 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-01-18 14:54:06,103 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-01-18 14:54:06,120 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states. [2019-01-18 14:54:06,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-01-18 14:54:06,126 INFO L394 BasicCegarLoop]: Found error trace [2019-01-18 14:54:06,127 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-01-18 14:54:06,130 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr7ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr8ASSERT_VIOLATIONASSERT]=== [2019-01-18 14:54:06,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-18 14:54:06,143 INFO L82 PathProgramCache]: Analyzing trace with hash 1000, now seen corresponding path program 1 times [2019-01-18 14:54:06,148 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-18 14:54:06,215 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-18 14:54:06,215 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-18 14:54:06,215 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-18 14:54:06,216 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-18 14:54:06,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-18 14:54:06,441 INFO L273 TraceCheckUtils]: 0: Hoare triple {24#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7, main_p8, main_p9;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p8 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p9 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0];#memory_int := #memory_int[main_p8 := 0];#memory_int := #memory_int[main_p9 := 0]; {26#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-18 14:54:06,446 INFO L273 TraceCheckUtils]: 1: Hoare triple {26#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {25#false} is VALID [2019-01-18 14:54:06,448 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-18 14:54:06,450 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-01-18 14:54:06,450 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-01-18 14:54:06,450 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-01-18 14:54:06,455 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-01-18 14:54:06,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-18 14:54:06,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-01-18 14:54:06,483 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-18 14:54:06,483 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-01-18 14:54:06,490 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-01-18 14:54:06,490 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-01-18 14:54:06,492 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 3 states. [2019-01-18 14:54:06,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-18 14:54:06,945 INFO L93 Difference]: Finished difference Result 41 states and 57 transitions. [2019-01-18 14:54:06,945 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-01-18 14:54:06,945 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-01-18 14:54:06,946 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-18 14:54:06,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-01-18 14:54:06,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2019-01-18 14:54:06,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-01-18 14:54:06,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2019-01-18 14:54:06,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 57 transitions. [2019-01-18 14:54:07,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-18 14:54:07,122 INFO L225 Difference]: With dead ends: 41 [2019-01-18 14:54:07,122 INFO L226 Difference]: Without dead ends: 36 [2019-01-18 14:54:07,125 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-01-18 14:54:07,144 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2019-01-18 14:54:07,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 20. [2019-01-18 14:54:07,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-18 14:54:07,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 20 states. [2019-01-18 14:54:07,186 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 20 states. [2019-01-18 14:54:07,187 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 20 states. [2019-01-18 14:54:07,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-18 14:54:07,196 INFO L93 Difference]: Finished difference Result 36 states and 52 transitions. [2019-01-18 14:54:07,197 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 52 transitions. [2019-01-18 14:54:07,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-18 14:54:07,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-18 14:54:07,200 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 36 states. [2019-01-18 14:54:07,200 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 36 states. [2019-01-18 14:54:07,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-18 14:54:07,207 INFO L93 Difference]: Finished difference Result 36 states and 52 transitions. [2019-01-18 14:54:07,207 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 52 transitions. [2019-01-18 14:54:07,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-18 14:54:07,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-18 14:54:07,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-18 14:54:07,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-18 14:54:07,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2019-01-18 14:54:07,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 37 transitions. [2019-01-18 14:54:07,215 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 37 transitions. Word has length 2 [2019-01-18 14:54:07,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-18 14:54:07,215 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 37 transitions. [2019-01-18 14:54:07,216 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-01-18 14:54:07,217 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 37 transitions. [2019-01-18 14:54:07,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-01-18 14:54:07,218 INFO L394 BasicCegarLoop]: Found error trace [2019-01-18 14:54:07,218 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-01-18 14:54:07,218 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr7ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr8ASSERT_VIOLATIONASSERT]=== [2019-01-18 14:54:07,219 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-18 14:54:07,219 INFO L82 PathProgramCache]: Analyzing trace with hash 30388, now seen corresponding path program 1 times [2019-01-18 14:54:07,219 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-18 14:54:07,220 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-18 14:54:07,220 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-18 14:54:07,220 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-18 14:54:07,220 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-18 14:54:07,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-18 14:54:07,385 INFO L273 TraceCheckUtils]: 0: Hoare triple {166#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7, main_p8, main_p9;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p8 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p9 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0];#memory_int := #memory_int[main_p8 := 0];#memory_int := #memory_int[main_p9 := 0]; {168#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-18 14:54:07,405 INFO L273 TraceCheckUtils]: 1: Hoare triple {168#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {169#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-18 14:54:07,413 INFO L273 TraceCheckUtils]: 2: Hoare triple {169#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {167#false} is VALID [2019-01-18 14:54:07,413 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-18 14:54:07,414 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-18 14:54:07,414 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-18 14:54:07,414 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-01-18 14:54:07,416 INFO L207 CegarAbsIntRunner]: [0], [18], [39] [2019-01-18 14:54:07,470 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-01-18 14:54:07,470 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-18 14:54:12,350 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 14:54:12,350 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 14:54:12,351 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 14:54:12,351 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 14:54:12,352 WARN L224 ngHoareTripleChecker]: Pre: {2147483645#(forall ((v_idx_25 Int) (v_idx_26 Int) (v_idx_23 Int) (v_idx_24 Int) (v_idx_21 Int) (v_idx_22 Int) (v_idx_20 Int) (v_idx_18 Int) (v_idx_19 Int) (v_idx_27 Int) (v_idx_17 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_119_1 Int) (v_v_92_1 Int) (v_v_2_1 Int) (v_v_94_1 Int) (v_v_4_1 Int) (v_v_121_1 Int)) (and (= (select |c_old(#valid)| v_idx_20) v_v_2_1) (or (= (select |c_#valid| v_idx_21) v_v_92_1) (<= c_ULTIMATE.start_main_p9 v_idx_21)) (or (= (select |c_#memory_int| v_idx_27) v_v_121_1) (< v_idx_27 (+ c_ULTIMATE.start_main_p9 1))) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_19) v_v_88_1) (< v_idx_19 (+ c_ULTIMATE.start_main_p9 1))) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_24)) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_17) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_17)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= (select |c_#valid| v_idx_23) v_v_94_1) (< v_idx_23 (+ c_ULTIMATE.start_main_p9 1))) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_26) (< v_idx_26 c_ULTIMATE.start_main_p9) (= (select |c_#memory_int| v_idx_26) 0)) (or (< v_idx_22 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_22) (= (select |c_#valid| v_idx_22) 1)) (or (< v_idx_18 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_18) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_18))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (or (= v_v_119_1 (select |c_#memory_int| v_idx_25)) (<= c_ULTIMATE.start_main_p9 v_idx_25)) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0))))} [2019-01-18 14:54:12,352 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; [2019-01-18 14:54:12,353 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p4 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p4) (- 1)))) [2019-01-18 14:54:12,353 WARN L230 ngHoareTripleChecker]: Post: {2147483644#(forall ((v_idx_36 Int) (v_idx_37 Int) (v_idx_34 Int) (v_idx_35 Int) (v_idx_32 Int) (v_idx_33 Int) (v_idx_30 Int) (v_idx_31 Int) (v_idx_29 Int) (v_idx_38 Int) (v_idx_28 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_123_1 Int) (v_v_124_1 Int) (v_v_122_1 Int)) (and (or (< v_idx_34 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_#valid| v_idx_34) v_v_94_1)) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_33) (< v_idx_33 c_ULTIMATE.start_main_p9) (= 1 (select |c_#valid| v_idx_33))) (or (= (select |c_#valid| v_idx_32) v_v_92_1) (<= c_ULTIMATE.start_main_p9 v_idx_32)) (or (< v_idx_30 (+ c_ULTIMATE.start_main_p9 1)) (= v_v_88_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_30))) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_35)) (or (= (select |c_#memory_int| v_idx_36) v_v_122_1) (<= c_ULTIMATE.start_main_p4 v_idx_36)) (or (<= c_ULTIMATE.start_main_p9 v_idx_28) (= v_v_86_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_28))) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (<= (+ c_ULTIMATE.start_main_p4 1) v_idx_37) (= (select |c_#memory_int| v_idx_37) v_v_123_1) (< v_idx_37 c_ULTIMATE.start_main_p4)) (or (= v_v_124_1 (select |c_#memory_int| v_idx_38)) (< v_idx_38 (+ c_ULTIMATE.start_main_p4 1))) (= v_v_2_1 (select |c_old(#valid)| v_idx_31)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_29)) (< v_idx_29 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_29)))))} [2019-01-18 14:54:12,353 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 14:54:12,637 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 14:54:12,638 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 14:54:13,021 WARN L270 ngHoareTripleChecker]: Pre: {2147483645#(and (forall ((v_idx_26 Int)) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_26) (< v_idx_26 ULTIMATE.start_main_p9) (= (select |#memory_int| v_idx_26) 0))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_18 Int)) (or (< v_idx_18 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_18) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_18)))) (forall ((v_idx_22 Int)) (or (< v_idx_22 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_22) (= (select |#valid| v_idx_22) 1))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0))} [2019-01-18 14:54:13,021 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; [2019-01-18 14:54:13,022 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p4 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p4) (- 1)))) [2019-01-18 14:54:13,168 WARN L276 ngHoareTripleChecker]: Post: {2147483644#(and (forall ((v_idx_33 Int)) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_33) (< v_idx_33 ULTIMATE.start_main_p9) (= 1 (select |#valid| v_idx_33)))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (forall ((v_idx_29 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_29)) (< v_idx_29 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_29))) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0))} [2019-01-18 14:54:16,440 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 14:54:16,440 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 14:54:16,441 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 14:54:16,441 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 14:54:16,442 WARN L224 ngHoareTripleChecker]: Pre: {2147483643#(forall ((v_idx_47 Int) (v_idx_48 Int) (v_idx_45 Int) (v_idx_46 Int) (v_idx_43 Int) (v_idx_44 Int) (v_idx_41 Int) (v_idx_42 Int) (v_idx_40 Int) (v_idx_49 Int) (v_idx_39 Int)) (exists ((v_v_88_1 Int) (v_v_119_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_121_1 Int)) (and (or (< v_idx_41 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_41) v_v_88_1)) (or (< v_idx_44 c_ULTIMATE.start_main_p9) (= 1 (select |c_#valid| v_idx_44)) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_44)) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_40) 0) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_40) (< v_idx_40 c_ULTIMATE.start_main_p9)) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_46)) (or (= v_v_119_1 (select |c_#memory_int| v_idx_47)) (<= c_ULTIMATE.start_main_p9 v_idx_47)) (or (= (select |c_#valid| v_idx_45) v_v_94_1) (< v_idx_45 (+ c_ULTIMATE.start_main_p9 1))) (= v_v_2_1 (select |c_old(#valid)| v_idx_42)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_39) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_39)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_49 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_#memory_int| v_idx_49) v_v_121_1)) (or (= (select |c_#valid| v_idx_43) v_v_92_1) (<= c_ULTIMATE.start_main_p9 v_idx_43)) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_48) (< v_idx_48 c_ULTIMATE.start_main_p9) (= 0 (select |c_#memory_int| v_idx_48))))))} [2019-01-18 14:54:16,442 WARN L228 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p1] >= 0); [2019-01-18 14:54:16,442 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1))) [2019-01-18 14:54:16,443 WARN L230 ngHoareTripleChecker]: Post: {2147483642#(forall ((v_idx_58 Int) (v_idx_59 Int) (v_idx_56 Int) (v_idx_57 Int) (v_idx_54 Int) (v_idx_55 Int) (v_idx_52 Int) (v_idx_53 Int) (v_idx_50 Int) (v_idx_51 Int) (v_idx_60 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_138_1 Int) (v_v_137_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_136_1 Int) (v_v_4_1 Int)) (and (or (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_59) (< v_idx_59 c_ULTIMATE.start_main_p1) (= (select |c_#memory_int| v_idx_59) v_v_137_1)) (or (< v_idx_60 (+ c_ULTIMATE.start_main_p1 1)) (= v_v_138_1 (select |c_#memory_int| v_idx_60))) (or (= v_v_94_1 (select |c_#valid| v_idx_56)) (< v_idx_56 (+ c_ULTIMATE.start_main_p9 1))) (or (= v_v_88_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_52)) (< v_idx_52 (+ c_ULTIMATE.start_main_p9 1))) (or (<= c_ULTIMATE.start_main_p1 v_idx_58) (= v_v_136_1 (select |c_#memory_int| v_idx_58))) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_50) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_50)) (= v_v_2_1 (select |c_old(#valid)| v_idx_53)) (or (< v_idx_55 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_55) (= 1 (select |c_#valid| v_idx_55))) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (= (select |c_old(#memory_int)| v_idx_57) v_v_4_1) (or (< v_idx_51 c_ULTIMATE.start_main_p9) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_51)) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_51)) (<= (+ v_v_137_1 1) 0) (or (= v_v_92_1 (select |c_#valid| v_idx_54)) (<= c_ULTIMATE.start_main_p9 v_idx_54)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (<= (- v_v_137_1 (- v_v_137_1)) (- 2)) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0))))} [2019-01-18 14:54:16,443 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 14:54:16,881 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 14:54:16,882 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 14:54:17,168 WARN L270 ngHoareTripleChecker]: Pre: {2147483643#(and (forall ((v_idx_40 Int)) (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_40) 0) (<= (+ ULTIMATE.start_main_p9 1) v_idx_40) (< v_idx_40 ULTIMATE.start_main_p9))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_44 Int)) (or (< v_idx_44 ULTIMATE.start_main_p9) (= 1 (select |#valid| v_idx_44)) (<= (+ ULTIMATE.start_main_p9 1) v_idx_44))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0) (forall ((v_idx_48 Int)) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_48) (< v_idx_48 ULTIMATE.start_main_p9) (= 0 (select |#memory_int| v_idx_48)))))} [2019-01-18 14:54:17,169 WARN L274 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p1] >= 0); [2019-01-18 14:54:17,170 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1))) [2019-01-18 14:54:17,237 WARN L276 ngHoareTripleChecker]: Post: {2147483642#(and (forall ((v_idx_59 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_idx_59) (< v_idx_59 ULTIMATE.start_main_p1) (<= (+ (select |#memory_int| v_idx_59) 1) 0))) (forall ((v_prenex_1 Int)) (or (<= (+ (* 2 (select |#memory_int| v_prenex_1)) 2) 0) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_1) (< v_prenex_1 ULTIMATE.start_main_p1))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_51 Int)) (or (< v_idx_51 ULTIMATE.start_main_p9) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_51)) (<= (+ ULTIMATE.start_main_p9 1) v_idx_51))) (forall ((v_idx_55 Int)) (or (< v_idx_55 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_55) (= 1 (select |#valid| v_idx_55)))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0))} [2019-01-18 14:54:20,195 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 14:54:20,196 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 14:54:20,196 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 14:54:20,196 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 14:54:20,197 WARN L224 ngHoareTripleChecker]: Pre: {2147483641#(or (forall ((v_idx_69 Int) (v_idx_67 Int) (v_idx_68 Int) (v_idx_65 Int) (v_idx_66 Int) (v_idx_63 Int) (v_idx_64 Int) (v_idx_61 Int) (v_idx_62 Int) (v_idx_70 Int) (v_idx_71 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_119_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_121_1 Int)) (and (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_61) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_61)) (or (= (select |c_#valid| v_idx_67) v_v_94_1) (< v_idx_67 (+ c_ULTIMATE.start_main_p9 1))) (or (<= c_ULTIMATE.start_main_p9 v_idx_69) (= v_v_119_1 (select |c_#memory_int| v_idx_69))) (= (select |c_old(#memory_int)| v_idx_68) v_v_4_1) (= v_v_2_1 (select |c_old(#valid)| v_idx_64)) (or (< v_idx_63 (+ c_ULTIMATE.start_main_p9 1)) (= v_v_88_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_63))) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (< v_idx_71 (+ c_ULTIMATE.start_main_p9 1)) (= v_v_121_1 (select |c_#memory_int| v_idx_71))) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_70) (< v_idx_70 c_ULTIMATE.start_main_p9) (= 0 (select |c_#memory_int| v_idx_70))) (or (<= c_ULTIMATE.start_main_p9 v_idx_65) (= (select |c_#valid| v_idx_65) v_v_92_1)) (or (< v_idx_62 c_ULTIMATE.start_main_p9) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_62) 0) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_62)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_66 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_66) (= 1 (select |c_#valid| v_idx_66)))))) (forall ((v_idx_78 Int) (v_idx_79 Int) (v_idx_76 Int) (v_idx_77 Int) (v_idx_74 Int) (v_idx_75 Int) (v_idx_72 Int) (v_idx_73 Int) (v_idx_81 Int) (v_idx_82 Int) (v_idx_80 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_123_1 Int) (v_v_124_1 Int) (v_v_122_1 Int)) (and (or (= (select |c_#valid| v_idx_76) v_v_92_1) (<= c_ULTIMATE.start_main_p9 v_idx_76)) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_79)) (or (= (select |c_#valid| v_idx_78) v_v_94_1) (< v_idx_78 (+ c_ULTIMATE.start_main_p9 1))) (or (< v_idx_81 c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p4 1) v_idx_81) (= v_v_123_1 (select |c_#memory_int| v_idx_81))) (or (<= c_ULTIMATE.start_main_p4 v_idx_80) (= v_v_122_1 (select |c_#memory_int| v_idx_80))) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_77) (< v_idx_77 c_ULTIMATE.start_main_p9) (= (select |c_#valid| v_idx_77) 1)) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_73) (< v_idx_73 c_ULTIMATE.start_main_p9) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_73) 0)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (<= c_ULTIMATE.start_main_p9 v_idx_72) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_72) v_v_86_1)) (or (< v_idx_74 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_74) v_v_88_1)) (= v_v_2_1 (select |c_old(#valid)| v_idx_75)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (or (= v_v_124_1 (select |c_#memory_int| v_idx_82)) (< v_idx_82 (+ c_ULTIMATE.start_main_p4 1))) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0)))))} [2019-01-18 14:54:20,197 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; [2019-01-18 14:54:20,197 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p4 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p4) (- 1)))) [2019-01-18 14:54:20,198 WARN L230 ngHoareTripleChecker]: Post: {2147483640#(forall ((v_idx_89 Int) (v_idx_87 Int) (v_idx_88 Int) (v_idx_85 Int) (v_idx_86 Int) (v_idx_83 Int) (v_idx_84 Int) (v_idx_92 Int) (v_idx_93 Int) (v_idx_90 Int) (v_idx_91 Int)) (exists ((v_v_141_1 Int) (v_v_88_1 Int) (v_v_140_1 Int) (v_v_86_1 Int) (v_v_139_1 Int) (v_v_92_1 Int) (v_v_2_1 Int) (v_v_94_1 Int) (v_v_4_1 Int)) (and (or (<= c_ULTIMATE.start_main_p9 v_idx_83) (= v_v_86_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_83))) (= v_v_2_1 (select |c_old(#valid)| v_idx_86)) (= (select |c_old(#memory_int)| v_idx_90) v_v_4_1) (or (< v_idx_93 (+ c_ULTIMATE.start_main_p4 1)) (= v_v_141_1 (select |c_#memory_int| v_idx_93))) (or (<= c_ULTIMATE.start_main_p4 v_idx_91) (= v_v_139_1 (select |c_#memory_int| v_idx_91))) (or (< v_idx_89 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_#valid| v_idx_89) v_v_94_1)) (or (= (select |c_#memory_int| v_idx_92) v_v_140_1) (< v_idx_92 c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p4 1) v_idx_92)) (or (= (select |c_#valid| v_idx_87) v_v_92_1) (<= c_ULTIMATE.start_main_p9 v_idx_87)) (or (= (select |c_#valid| v_idx_88) 1) (< v_idx_88 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_88)) (or (= v_v_88_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_85)) (< v_idx_85 (+ c_ULTIMATE.start_main_p9 1))) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_84)) (< v_idx_84 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_84)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0))))} [2019-01-18 14:54:20,198 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 14:54:20,634 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 14:54:20,635 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 14:54:28,547 WARN L181 SmtUtils]: Spent 7.91 s on a formula simplification that was a NOOP. DAG size: 146 [2019-01-18 14:54:28,548 WARN L270 ngHoareTripleChecker]: Pre: {2147483641#(or (forall ((v_idx_69 Int) (v_idx_67 Int) (v_idx_68 Int) (v_idx_65 Int) (v_idx_66 Int) (v_idx_63 Int) (v_idx_64 Int) (v_idx_61 Int) (v_idx_62 Int) (v_idx_70 Int) (v_idx_71 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_119_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_121_1 Int)) (and (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_61) v_v_86_1) (<= ULTIMATE.start_main_p9 v_idx_61)) (or (= (select |#valid| v_idx_67) v_v_94_1) (< v_idx_67 (+ ULTIMATE.start_main_p9 1))) (or (<= ULTIMATE.start_main_p9 v_idx_69) (= v_v_119_1 (select |#memory_int| v_idx_69))) (= (select |old(#memory_int)| v_idx_68) v_v_4_1) (= v_v_2_1 (select |old(#valid)| v_idx_64)) (or (< v_idx_63 (+ ULTIMATE.start_main_p9 1)) (= v_v_88_1 (select |ULTIMATE.start_malloc_old_#valid| v_idx_63))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (or (< v_idx_71 (+ ULTIMATE.start_main_p9 1)) (= v_v_121_1 (select |#memory_int| v_idx_71))) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_70) (< v_idx_70 ULTIMATE.start_main_p9) (= 0 (select |#memory_int| v_idx_70))) (or (<= ULTIMATE.start_main_p9 v_idx_65) (= (select |#valid| v_idx_65) v_v_92_1)) (or (< v_idx_62 ULTIMATE.start_main_p9) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_62) 0) (<= (+ ULTIMATE.start_main_p9 1) v_idx_62)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_66 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_66) (= 1 (select |#valid| v_idx_66)))))) (forall ((v_idx_78 Int) (v_idx_79 Int) (v_idx_76 Int) (v_idx_77 Int) (v_idx_74 Int) (v_idx_75 Int) (v_idx_72 Int) (v_idx_73 Int) (v_idx_81 Int) (v_idx_82 Int) (v_idx_80 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_123_1 Int) (v_v_124_1 Int) (v_v_122_1 Int)) (and (or (= (select |#valid| v_idx_76) v_v_92_1) (<= ULTIMATE.start_main_p9 v_idx_76)) (= v_v_4_1 (select |old(#memory_int)| v_idx_79)) (or (= (select |#valid| v_idx_78) v_v_94_1) (< v_idx_78 (+ ULTIMATE.start_main_p9 1))) (or (< v_idx_81 ULTIMATE.start_main_p4) (<= (+ ULTIMATE.start_main_p4 1) v_idx_81) (= v_v_123_1 (select |#memory_int| v_idx_81))) (or (<= ULTIMATE.start_main_p4 v_idx_80) (= v_v_122_1 (select |#memory_int| v_idx_80))) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_77) (< v_idx_77 ULTIMATE.start_main_p9) (= (select |#valid| v_idx_77) 1)) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_73) (< v_idx_73 ULTIMATE.start_main_p9) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_73) 0)) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (or (<= ULTIMATE.start_main_p9 v_idx_72) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_72) v_v_86_1)) (or (< v_idx_74 (+ ULTIMATE.start_main_p9 1)) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_74) v_v_88_1)) (= v_v_2_1 (select |old(#valid)| v_idx_75)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (or (= v_v_124_1 (select |#memory_int| v_idx_82)) (< v_idx_82 (+ ULTIMATE.start_main_p4 1))) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0)))))} [2019-01-18 14:54:28,548 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; [2019-01-18 14:54:28,548 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p4 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p4) (- 1)))) [2019-01-18 14:54:28,628 WARN L276 ngHoareTripleChecker]: Post: {2147483640#(and (forall ((v_idx_84 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_84)) (< v_idx_84 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_84))) (forall ((v_idx_88 Int)) (or (= (select |#valid| v_idx_88) 1) (< v_idx_88 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_88))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0))} [2019-01-18 14:54:32,231 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 14:54:32,231 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 14:54:32,232 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 14:54:32,232 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 14:54:32,232 WARN L224 ngHoareTripleChecker]: Pre: {2147483639#(or (forall ((v_idx_104 Int) (v_idx_102 Int) (v_idx_103 Int) (v_idx_98 Int) (v_idx_99 Int) (v_idx_96 Int) (v_idx_97 Int) (v_idx_94 Int) (v_idx_95 Int) (v_idx_100 Int) (v_idx_101 Int)) (exists ((v_v_88_1 Int) (v_v_119_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_121_1 Int)) (and (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_96) v_v_88_1) (< v_idx_96 (+ c_ULTIMATE.start_main_p9 1))) (or (= (select |c_#memory_int| v_idx_103) 0) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_103) (< v_idx_103 c_ULTIMATE.start_main_p9)) (or (< v_idx_99 c_ULTIMATE.start_main_p9) (= (select |c_#valid| v_idx_99) 1) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_99)) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_101)) (or (< v_idx_104 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_#memory_int| v_idx_104) v_v_121_1)) (or (= v_v_94_1 (select |c_#valid| v_idx_100)) (< v_idx_100 (+ c_ULTIMATE.start_main_p9 1))) (or (= (select |c_#memory_int| v_idx_102) v_v_119_1) (<= c_ULTIMATE.start_main_p9 v_idx_102)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (= (select |c_old(#valid)| v_idx_97) v_v_2_1) (or (<= c_ULTIMATE.start_main_p9 v_idx_98) (= (select |c_#valid| v_idx_98) v_v_92_1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_95)) (< v_idx_95 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_95)) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_94) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_94))))) (forall ((v_idx_115 Int) (v_idx_105 Int) (v_idx_113 Int) (v_idx_114 Int) (v_idx_108 Int) (v_idx_109 Int) (v_idx_106 Int) (v_idx_107 Int) (v_idx_111 Int) (v_idx_112 Int) (v_idx_110 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_123_1 Int) (v_v_124_1 Int) (v_v_122_1 Int)) (and (or (< v_idx_111 (+ c_ULTIMATE.start_main_p9 1)) (= v_v_94_1 (select |c_#valid| v_idx_111))) (or (= 1 (select |c_#valid| v_idx_110)) (< v_idx_110 c_ULTIMATE.start_main_p9) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_110)) (or (< v_idx_106 c_ULTIMATE.start_main_p9) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_106) 0) (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_106)) (or (< v_idx_115 (+ c_ULTIMATE.start_main_p4 1)) (= v_v_124_1 (select |c_#memory_int| v_idx_115))) (or (<= c_ULTIMATE.start_main_p4 v_idx_113) (= (select |c_#memory_int| v_idx_113) v_v_122_1)) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_105) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_105)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= v_v_88_1 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_107)) (< v_idx_107 (+ c_ULTIMATE.start_main_p9 1))) (= v_v_2_1 (select |c_old(#valid)| v_idx_108)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_112)) (or (< v_idx_114 c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p4 1) v_idx_114) (= (select |c_#memory_int| v_idx_114) v_v_123_1)) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0) (or (<= c_ULTIMATE.start_main_p9 v_idx_109) (= v_v_92_1 (select |c_#valid| v_idx_109)))))))} [2019-01-18 14:54:32,232 WARN L228 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p1] >= 0); [2019-01-18 14:54:32,233 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1))) [2019-01-18 14:54:32,233 WARN L230 ngHoareTripleChecker]: Post: {2147483638#(forall ((v_idx_126 Int) (v_idx_116 Int) (v_idx_124 Int) (v_idx_125 Int) (v_idx_119 Int) (v_idx_117 Int) (v_idx_118 Int) (v_idx_122 Int) (v_idx_123 Int) (v_idx_120 Int) (v_idx_121 Int)) (exists ((v_v_184_1 Int) (v_v_183_1 Int) (v_v_88_1 Int) (v_v_185_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int)) (and (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_121) (= 1 (select |c_#valid| v_idx_121)) (< v_idx_121 c_ULTIMATE.start_main_p9)) (or (= v_v_184_1 (select |c_#memory_int| v_idx_125)) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_125) (< v_idx_125 c_ULTIMATE.start_main_p1)) (= v_v_4_1 (select |c_old(#memory_int)| v_idx_123)) (or (= v_v_94_1 (select |c_#valid| v_idx_122)) (< v_idx_122 (+ c_ULTIMATE.start_main_p9 1))) (or (< v_idx_126 (+ c_ULTIMATE.start_main_p1 1)) (= v_v_185_1 (select |c_#memory_int| v_idx_126))) (or (= (select |c_#memory_int| v_idx_124) v_v_183_1) (<= c_ULTIMATE.start_main_p1 v_idx_124)) (= v_v_2_1 (select |c_old(#valid)| v_idx_119)) (<= (+ v_v_184_1 1) 0) (or (< v_idx_118 (+ c_ULTIMATE.start_main_p9 1)) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_118) v_v_88_1)) (<= c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) (<= (- (- c_ULTIMATE.start_main_p9) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- v_v_184_1 (- v_v_184_1)) (- 2)) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_116) v_v_86_1) (<= c_ULTIMATE.start_main_p9 v_idx_116)) (or (<= (+ c_ULTIMATE.start_main_p9 1) v_idx_117) (< v_idx_117 c_ULTIMATE.start_main_p9) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_117))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p9) (or (= v_v_92_1 (select |c_#valid| v_idx_120)) (<= c_ULTIMATE.start_main_p9 v_idx_120)) (<= (- c_ULTIMATE.start_main_p9 c_ULTIMATE.start_malloc_ptr) 0))))} [2019-01-18 14:54:32,233 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 14:54:32,918 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 14:54:32,919 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 14:54:40,934 WARN L181 SmtUtils]: Spent 8.01 s on a formula simplification that was a NOOP. DAG size: 146 [2019-01-18 14:54:40,935 WARN L270 ngHoareTripleChecker]: Pre: {2147483639#(or (forall ((v_idx_104 Int) (v_idx_102 Int) (v_idx_103 Int) (v_idx_98 Int) (v_idx_99 Int) (v_idx_96 Int) (v_idx_97 Int) (v_idx_94 Int) (v_idx_95 Int) (v_idx_100 Int) (v_idx_101 Int)) (exists ((v_v_88_1 Int) (v_v_119_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_121_1 Int)) (and (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_96) v_v_88_1) (< v_idx_96 (+ ULTIMATE.start_main_p9 1))) (or (= (select |#memory_int| v_idx_103) 0) (<= (+ ULTIMATE.start_main_p9 1) v_idx_103) (< v_idx_103 ULTIMATE.start_main_p9)) (or (< v_idx_99 ULTIMATE.start_main_p9) (= (select |#valid| v_idx_99) 1) (<= (+ ULTIMATE.start_main_p9 1) v_idx_99)) (= v_v_4_1 (select |old(#memory_int)| v_idx_101)) (or (< v_idx_104 (+ ULTIMATE.start_main_p9 1)) (= (select |#memory_int| v_idx_104) v_v_121_1)) (or (= v_v_94_1 (select |#valid| v_idx_100)) (< v_idx_100 (+ ULTIMATE.start_main_p9 1))) (or (= (select |#memory_int| v_idx_102) v_v_119_1) (<= ULTIMATE.start_main_p9 v_idx_102)) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (= (select |old(#valid)| v_idx_97) v_v_2_1) (or (<= ULTIMATE.start_main_p9 v_idx_98) (= (select |#valid| v_idx_98) v_v_92_1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_95)) (< v_idx_95 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_95)) (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_94) v_v_86_1) (<= ULTIMATE.start_main_p9 v_idx_94))))) (forall ((v_idx_115 Int) (v_idx_105 Int) (v_idx_113 Int) (v_idx_114 Int) (v_idx_108 Int) (v_idx_109 Int) (v_idx_106 Int) (v_idx_107 Int) (v_idx_111 Int) (v_idx_112 Int) (v_idx_110 Int)) (exists ((v_v_88_1 Int) (v_v_86_1 Int) (v_v_92_1 Int) (v_v_94_1 Int) (v_v_2_1 Int) (v_v_4_1 Int) (v_v_123_1 Int) (v_v_124_1 Int) (v_v_122_1 Int)) (and (or (< v_idx_111 (+ ULTIMATE.start_main_p9 1)) (= v_v_94_1 (select |#valid| v_idx_111))) (or (= 1 (select |#valid| v_idx_110)) (< v_idx_110 ULTIMATE.start_main_p9) (<= (+ ULTIMATE.start_main_p9 1) v_idx_110)) (or (< v_idx_106 ULTIMATE.start_main_p9) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_106) 0) (<= (+ ULTIMATE.start_main_p9 1) v_idx_106)) (or (< v_idx_115 (+ ULTIMATE.start_main_p4 1)) (= v_v_124_1 (select |#memory_int| v_idx_115))) (or (<= ULTIMATE.start_main_p4 v_idx_113) (= (select |#memory_int| v_idx_113) v_v_122_1)) (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_105) v_v_86_1) (<= ULTIMATE.start_main_p9 v_idx_105)) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (or (= v_v_88_1 (select |ULTIMATE.start_malloc_old_#valid| v_idx_107)) (< v_idx_107 (+ ULTIMATE.start_main_p9 1))) (= v_v_2_1 (select |old(#valid)| v_idx_108)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (= v_v_4_1 (select |old(#memory_int)| v_idx_112)) (or (< v_idx_114 ULTIMATE.start_main_p4) (<= (+ ULTIMATE.start_main_p4 1) v_idx_114) (= (select |#memory_int| v_idx_114) v_v_123_1)) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0) (or (<= ULTIMATE.start_main_p9 v_idx_109) (= v_v_92_1 (select |#valid| v_idx_109)))))))} [2019-01-18 14:54:40,935 WARN L274 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p1] >= 0); [2019-01-18 14:54:40,935 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1))) [2019-01-18 14:54:41,146 WARN L276 ngHoareTripleChecker]: Post: {2147483638#(and (forall ((v_idx_117 Int)) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_117) (< v_idx_117 ULTIMATE.start_main_p9) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_117)))) (forall ((v_idx_125 Int)) (or (<= (+ (select |#memory_int| v_idx_125) 1) 0) (<= (+ ULTIMATE.start_main_p1 1) v_idx_125) (< v_idx_125 ULTIMATE.start_main_p1))) (<= ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p9) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_121 Int)) (or (<= (+ ULTIMATE.start_main_p9 1) v_idx_121) (= 1 (select |#valid| v_idx_121)) (< v_idx_121 ULTIMATE.start_main_p9))) (forall ((v_prenex_2 Int)) (or (<= (+ (* 2 (select |#memory_int| v_prenex_2)) 2) 0) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_2) (< v_prenex_2 ULTIMATE.start_main_p1))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p9) (<= (- ULTIMATE.start_main_p9 ULTIMATE.start_malloc_ptr) 0))} [2019-01-18 14:54:41,370 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-18 14:54:41,371 INFO L272 AbstractInterpreter]: Visited 3 different actions 5 times. Merged at 1 different actions 1 times. Never widened. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-18 14:54:41,375 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-18 14:54:41,376 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-18 14:54:41,376 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-18 14:54:41,376 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-18 14:54:41,387 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-18 14:54:41,387 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-18 14:54:41,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-18 14:54:41,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-18 14:54:41,407 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-18 14:54:41,569 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 30 treesize of output 33 [2019-01-18 14:54:41,603 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 33 treesize of output 39 [2019-01-18 14:54:41,619 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,624 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,625 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 49 [2019-01-18 14:54:41,646 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,648 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,650 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 63 [2019-01-18 14:54:41,676 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,678 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,680 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,682 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 81 [2019-01-18 14:54:41,792 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,795 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,796 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,797 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,799 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 103 [2019-01-18 14:54:41,841 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,843 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,845 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,847 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,848 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,850 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,853 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 21 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 129 [2019-01-18 14:54:41,932 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,948 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,949 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,951 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,952 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,953 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,954 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:41,957 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 28 disjoint index pairs (out of 21 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 159 [2019-01-18 14:54:42,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 28 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 158 [2019-01-18 14:54:42,033 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,128 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,280 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,340 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,385 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,425 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,456 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,482 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,506 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:42,570 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,572 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 117 treesize of output 114 [2019-01-18 14:54:42,656 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,657 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 101 treesize of output 104 [2019-01-18 14:54:42,796 WARN L181 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 43 DAG size of output: 37 [2019-01-18 14:54:42,811 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,813 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,814 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,816 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,818 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 103 [2019-01-18 14:54:42,939 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,940 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,941 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,942 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,944 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,945 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:42,948 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 105 [2019-01-18 14:54:43,115 WARN L181 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 45 [2019-01-18 14:54:43,139 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,140 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,141 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,142 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,143 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,144 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,146 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,148 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,150 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 116 [2019-01-18 14:54:43,321 WARN L181 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 52 [2019-01-18 14:54:43,346 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,348 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,349 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,352 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,353 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,354 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,355 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,356 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,358 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,359 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,362 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 134 [2019-01-18 14:54:43,533 WARN L181 SmtUtils]: Spent 130.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 60 [2019-01-18 14:54:43,560 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,562 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,563 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,565 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,566 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,567 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,576 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,577 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,578 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,579 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,580 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,582 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:43,584 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 8 select indices, 8 select index equivalence classes, 29 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 113 [2019-01-18 14:54:43,604 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2019-01-18 14:54:43,677 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:43,738 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:43,804 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:43,872 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:43,940 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:44,009 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-18 14:54:44,139 INFO L267 ElimStorePlain]: Start of recursive call 1: 7 dim-0 vars, 2 dim-1 vars, End of recursive call: 7 dim-0 vars, and 1 xjuncts. [2019-01-18 14:54:44,140 INFO L202 ElimStorePlain]: Needed 17 recursive calls to eliminate 9 variables, input treesize:150, output treesize:158 [2019-01-18 14:54:46,534 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-18 14:54:46,535 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p7, ULTIMATE.start_main_p8, ULTIMATE.start_main_p9, |v_#valid_11|]. (let ((.cse1 (store |v_#valid_11| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p4 1))) (let ((.cse4 (store .cse0 ULTIMATE.start_main_p5 1))) (let ((.cse5 (store .cse4 ULTIMATE.start_main_p6 1))) (and (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= (select .cse3 ULTIMATE.start_main_p3) 0) (= 0 (select .cse4 ULTIMATE.start_main_p6)) (= (store (store (store (store (store (store (store (store (store |v_#memory_int_47| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) ULTIMATE.start_main_p7 0) ULTIMATE.start_main_p8 0) ULTIMATE.start_main_p9 0) |#memory_int|) (= (select (store .cse5 ULTIMATE.start_main_p7 1) ULTIMATE.start_main_p8) 0) (= (select .cse5 ULTIMATE.start_main_p7) 0)))))))) [2019-01-18 14:54:46,535 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p7, ULTIMATE.start_main_p8, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p9, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p9)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5))) [2019-01-18 14:54:49,205 WARN L181 SmtUtils]: Spent 391.00 ms on a formula simplification. DAG size of input: 89 DAG size of output: 85 [2019-01-18 14:54:49,521 INFO L701 Elim1Store]: detected not equals via solver [2019-01-18 14:54:49,523 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 29 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 153 [2019-01-18 14:54:49,528 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-18 14:54:49,656 INFO L267 ElimStorePlain]: Start of recursive call 1: 7 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 1 xjuncts. [2019-01-18 14:54:49,657 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 8 variables, input treesize:163, output treesize:125 [2019-01-18 14:54:51,832 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-18 14:54:51,833 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_48|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p7, ULTIMATE.start_main_p8, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_48| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (= (store |v_#memory_int_48| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_48| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-18 14:54:51,833 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p7, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, ULTIMATE.start_main_p8, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5))) [2019-01-18 14:54:54,252 INFO L273 TraceCheckUtils]: 0: Hoare triple {166#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7, main_p8, main_p9;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p8 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p9 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0];#memory_int := #memory_int[main_p8 := 0];#memory_int := #memory_int[main_p9 := 0]; {173#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p8 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-18 14:54:54,969 INFO L273 TraceCheckUtils]: 1: Hoare triple {173#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p8 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {177#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p8 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))))} is VALID [2019-01-18 14:54:54,971 INFO L273 TraceCheckUtils]: 2: Hoare triple {177#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p7 Int) (ULTIMATE.start_main_p8 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p7)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p7 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p8 ULTIMATE.start_main_p7)) (= 0 (select |#memory_int| ULTIMATE.start_main_p8)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))))} assume !(#memory_int[main_p1] >= 0); {167#false} is VALID [2019-01-18 14:54:54,971 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-18 14:54:54,971 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-18 14:54:54,997 INFO L273 TraceCheckUtils]: 2: Hoare triple {181#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {167#false} is VALID [2019-01-18 14:54:55,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {185#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {181#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-18 14:54:55,003 INFO L273 TraceCheckUtils]: 0: Hoare triple {166#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7, main_p8, main_p9;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p8 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p9 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0];#memory_int := #memory_int[main_p8 := 0];#memory_int := #memory_int[main_p9 := 0]; {185#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-18 14:54:55,003 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-18 14:54:55,023 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-18 14:54:55,024 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-01-18 14:54:55,024 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-18 14:54:55,024 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-18 14:54:55,025 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-18 14:54:55,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-01-18 14:54:56,276 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-18 14:54:56,277 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-01-18 14:54:56,277 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-01-18 14:54:56,277 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-18 14:54:56,277 INFO L87 Difference]: Start difference. First operand 20 states and 37 transitions. Second operand 6 states. [2019-01-18 14:54:57,117 WARN L181 SmtUtils]: Spent 442.00 ms on a formula simplification. DAG size of input: 81 DAG size of output: 79 [2019-01-18 14:54:58,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-18 14:54:58,169 INFO L93 Difference]: Finished difference Result 71 states and 104 transitions. [2019-01-18 14:54:58,169 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-01-18 14:54:58,169 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-18 14:54:58,169 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-18 14:54:58,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-18 14:54:58,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2019-01-18 14:54:58,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-18 14:54:58,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2019-01-18 14:54:58,175 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 104 transitions. [2019-01-18 14:55:22,346 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-18 14:55:22,350 INFO L225 Difference]: With dead ends: 71 [2019-01-18 14:55:22,350 INFO L226 Difference]: Without dead ends: 69 [2019-01-18 14:55:22,351 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 5.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-01-18 14:55:22,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2019-01-18 14:55:22,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 24. [2019-01-18 14:55:22,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-18 14:55:22,405 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 24 states. [2019-01-18 14:55:22,406 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 24 states. [2019-01-18 14:55:22,406 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 24 states. [2019-01-18 14:55:22,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-18 14:55:22,412 INFO L93 Difference]: Finished difference Result 69 states and 101 transitions. [2019-01-18 14:55:22,412 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 101 transitions. [2019-01-18 14:55:22,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-18 14:55:22,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-18 14:55:22,413 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 69 states. [2019-01-18 14:55:22,414 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 69 states. [2019-01-18 14:55:22,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-18 14:55:22,419 INFO L93 Difference]: Finished difference Result 69 states and 101 transitions. [2019-01-18 14:55:22,419 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 101 transitions. [2019-01-18 14:55:22,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-18 14:55:22,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-18 14:55:22,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-18 14:55:22,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-18 14:55:22,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-01-18 14:55:22,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 52 transitions. [2019-01-18 14:55:22,423 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 52 transitions. Word has length 3 [2019-01-18 14:55:22,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-18 14:55:22,423 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 52 transitions. [2019-01-18 14:55:22,423 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-01-18 14:55:22,423 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 52 transitions. [2019-01-18 14:55:22,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-01-18 14:55:22,423 INFO L394 BasicCegarLoop]: Found error trace [2019-01-18 14:55:22,424 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-01-18 14:55:22,424 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr7ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr6ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr8ASSERT_VIOLATIONASSERT]=== [2019-01-18 14:55:22,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-18 14:55:22,425 INFO L82 PathProgramCache]: Analyzing trace with hash 30884, now seen corresponding path program 1 times [2019-01-18 14:55:22,425 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-18 14:55:22,426 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-18 14:55:22,426 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-18 14:55:22,426 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-18 14:55:22,426 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-18 14:55:22,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-18 14:55:22,616 INFO L273 TraceCheckUtils]: 0: Hoare triple {430#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6, main_p7, main_p8, main_p9;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p7 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p8 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p9 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0];#memory_int := #memory_int[main_p7 := 0];#memory_int := #memory_int[main_p8 := 0];#memory_int := #memory_int[main_p9 := 0]; {432#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p8 (+ (select |#memory_int| ULTIMATE.start_main_p8) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p8) 0))} is VALID [2019-01-18 14:55:22,618 INFO L273 TraceCheckUtils]: 1: Hoare triple {432#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p8 (+ (select |#memory_int| ULTIMATE.start_main_p8) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p8) 0))} #memory_int := #memory_int[main_p8 := #memory_int[main_p8] - 1]; {433#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-18 14:55:22,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {433#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {431#false} is VALID [2019-01-18 14:55:22,619 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-18 14:55:22,619 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-18 14:55:22,619 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-18 14:55:22,620 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-01-18 14:55:22,620 INFO L207 CegarAbsIntRunner]: [0], [34], [39] [2019-01-18 14:55:22,622 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-01-18 14:55:22,623 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-18 14:55:23,881 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2019-01-18 14:55:23,883 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.extractInterpolants(BaseRefinementStrategy.java:391) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.handleInfeasibleCase(BaseRefinementStrategy.java:296) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:206) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:123) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.pop(Scriptor.java:139) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.arrays.DiffWrapperScript.pop(DiffWrapperScript.java:102) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.managedscript.ManagedScript.pop(ManagedScript.java:131) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.DebuggingHoareTripleChecker.clearAssertionStack(DebuggingHoareTripleChecker.java:325) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.DebuggingHoareTripleChecker.releaseLock(DebuggingHoareTripleChecker.java:166) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.rcfg.RcfgDebugHelper.isPostSound(RcfgDebugHelper.java:84) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.rcfg.RcfgDebugHelper.isPostSound(RcfgDebugHelper.java:62) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.rcfg.RcfgDebugHelper.isPostSound(RcfgDebugHelper.java:1) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.FixpointEngine.assertIsPostSound(FixpointEngine.java:268) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.FixpointEngine.calculateAbstractPost(FixpointEngine.java:254) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.FixpointEngine.calculateFixpoint(FixpointEngine.java:134) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.FixpointEngine.run(FixpointEngine.java:105) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.tool.AbstractInterpreter.runWithoutTimeoutAndResults(AbstractInterpreter.java:149) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarAbsIntRunner.generateFixpoints(CegarAbsIntRunner.java:222) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseTaipanRefinementStrategy.constructInterpolantGenerator(BaseTaipanRefinementStrategy.java:382) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseTaipanRefinementStrategy.getInterpolantGenerator(BaseTaipanRefinementStrategy.java:225) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.extractInterpolants(BaseRefinementStrategy.java:380) ... 20 more Caused by: java.io.IOException: Stream closed at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433) at java.io.OutputStream.write(OutputStream.java:116) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:254) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:120) ... 37 more [2019-01-18 14:55:23,890 INFO L168 Benchmark]: Toolchain (without parser) took 79117.82 ms. Allocated memory was 138.4 MB in the beginning and 389.5 MB in the end (delta: 251.1 MB). Free memory was 105.8 MB in the beginning and 297.7 MB in the end (delta: -191.9 MB). Peak memory consumption was 252.3 MB. Max. memory is 7.1 GB. [2019-01-18 14:55:23,891 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 138.4 MB. Free memory is still 107.3 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-01-18 14:55:23,892 INFO L168 Benchmark]: Boogie Procedure Inliner took 65.55 ms. Allocated memory is still 138.4 MB. Free memory was 105.6 MB in the beginning and 102.9 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 7.1 GB. [2019-01-18 14:55:23,892 INFO L168 Benchmark]: Boogie Preprocessor took 26.90 ms. Allocated memory is still 138.4 MB. Free memory was 102.9 MB in the beginning and 101.6 MB in the end (delta: 1.4 MB). Peak memory consumption was 1.4 MB. Max. memory is 7.1 GB. [2019-01-18 14:55:23,893 INFO L168 Benchmark]: RCFGBuilder took 1153.35 ms. Allocated memory is still 138.4 MB. Free memory was 101.6 MB in the beginning and 67.4 MB in the end (delta: 34.1 MB). Peak memory consumption was 34.1 MB. Max. memory is 7.1 GB. [2019-01-18 14:55:23,894 INFO L168 Benchmark]: TraceAbstraction took 77866.55 ms. Allocated memory was 138.4 MB in the beginning and 389.5 MB in the end (delta: 251.1 MB). Free memory was 67.0 MB in the beginning and 297.7 MB in the end (delta: -230.7 MB). Peak memory consumption was 213.4 MB. Max. memory is 7.1 GB. [2019-01-18 14:55:23,898 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 138.4 MB. Free memory is still 107.3 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 65.55 ms. Allocated memory is still 138.4 MB. Free memory was 105.6 MB in the beginning and 102.9 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 26.90 ms. Allocated memory is still 138.4 MB. Free memory was 102.9 MB in the beginning and 101.6 MB in the end (delta: 1.4 MB). Peak memory consumption was 1.4 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1153.35 ms. Allocated memory is still 138.4 MB. Free memory was 101.6 MB in the beginning and 67.4 MB in the end (delta: 34.1 MB). Peak memory consumption was 34.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 77866.55 ms. Allocated memory was 138.4 MB in the beginning and 389.5 MB in the end (delta: 251.1 MB). Free memory was 67.0 MB in the beginning and 297.7 MB in the end (delta: -230.7 MB). Peak memory consumption was 213.4 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) Connection to SMT solver broken: de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.extractInterpolants(BaseRefinementStrategy.java:391) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...