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-2-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-a9d37a5-m [2019-02-28 13:46:37,348 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-28 13:46:37,350 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-28 13:46:37,362 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-28 13:46:37,362 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-28 13:46:37,363 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-28 13:46:37,365 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-28 13:46:37,367 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-28 13:46:37,369 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-28 13:46:37,369 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-28 13:46:37,370 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-28 13:46:37,371 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-28 13:46:37,372 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-28 13:46:37,373 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-28 13:46:37,376 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-28 13:46:37,377 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-28 13:46:37,378 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-28 13:46:37,384 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-28 13:46:37,386 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-28 13:46:37,391 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-28 13:46:37,392 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-28 13:46:37,393 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-28 13:46:37,395 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-28 13:46:37,396 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-28 13:46:37,396 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-28 13:46:37,397 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-28 13:46:37,398 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-28 13:46:37,399 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-28 13:46:37,399 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-28 13:46:37,403 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-28 13:46:37,403 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-28 13:46:37,404 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-28 13:46:37,404 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-28 13:46:37,405 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-28 13:46:37,406 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-28 13:46:37,407 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-28 13:46:37,408 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-02-28 13:46:37,420 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-28 13:46:37,421 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-28 13:46:37,421 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-28 13:46:37,422 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-28 13:46:37,422 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-28 13:46:37,422 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-28 13:46:37,422 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-28 13:46:37,422 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-28 13:46:37,423 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-28 13:46:37,423 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2019-02-28 13:46:37,423 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2019-02-28 13:46:37,423 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-28 13:46:37,423 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-28 13:46:37,424 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-28 13:46:37,424 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-28 13:46:37,424 INFO L133 SettingsManager]: * Use SBE=true [2019-02-28 13:46:37,425 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-28 13:46:37,425 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-28 13:46:37,425 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-28 13:46:37,425 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-28 13:46:37,425 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-28 13:46:37,426 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-28 13:46:37,426 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-28 13:46:37,426 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-28 13:46:37,426 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-28 13:46:37,426 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-28 13:46:37,427 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-28 13:46:37,427 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-28 13:46:37,427 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-28 13:46:37,427 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-28 13:46:37,427 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:16092 -smt2 -in -t:200000 [2019-02-28 13:46:37,428 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-28 13:46:37,428 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-28 13:46:37,428 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-28 13:46:37,428 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-28 13:46:37,428 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-28 13:46:37,428 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:16092 -smt2 -in [2019-02-28 13:46:37,429 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-28 13:46:37,429 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-28 13:46:37,474 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-28 13:46:37,488 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-28 13:46:37,494 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-28 13:46:37,496 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-28 13:46:37,496 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-28 13:46:37,497 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-2-limited.bpl [2019-02-28 13:46:37,497 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-2-limited.bpl' [2019-02-28 13:46:37,541 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-28 13:46:37,543 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-28 13:46:37,544 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-28 13:46:37,544 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-28 13:46:37,544 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-28 13:46:37,561 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,573 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,602 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-28 13:46:37,604 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-28 13:46:37,604 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-28 13:46:37,604 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-28 13:46:37,616 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,616 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,617 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,618 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,622 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,626 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,627 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... [2019-02-28 13:46:37,629 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-28 13:46:37,630 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-28 13:46:37,630 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-28 13:46:37,630 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-28 13:46:37,633 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:16092 -smt2 -in -t:200000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:16092 -smt2 -in -t:200000 [2019-02-28 13:46:37,700 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-02-28 13:46:37,700 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-02-28 13:46:38,210 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-02-28 13:46:38,210 INFO L286 CfgBuilder]: Removed 7 assue(true) statements. [2019-02-28 13:46:38,211 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.02 01:46:38 BoogieIcfgContainer [2019-02-28 13:46:38,212 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-28 13:46:38,213 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-28 13:46:38,213 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-28 13:46:38,216 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-28 13:46:38,216 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 28.02 01:46:37" (1/2) ... [2019-02-28 13:46:38,223 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27e83e34 and model type speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.02 01:46:38, skipping insertion in model container [2019-02-28 13:46:38,223 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.02 01:46:38" (2/2) ... [2019-02-28 13:46:38,228 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-2-limited.bpl [2019-02-28 13:46:38,241 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-28 13:46:38,249 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 2 error locations. [2019-02-28 13:46:38,267 INFO L257 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2019-02-28 13:46:38,305 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-28 13:46:38,305 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-28 13:46:38,305 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-28 13:46:38,305 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-28 13:46:38,306 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-28 13:46:38,306 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-28 13:46:38,306 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-28 13:46:38,306 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-28 13:46:38,325 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states. [2019-02-28 13:46:38,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-02-28 13:46:38,339 INFO L394 BasicCegarLoop]: Found error trace [2019-02-28 13:46:38,340 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-02-28 13:46:38,342 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-28 13:46:38,347 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:46:38,348 INFO L82 PathProgramCache]: Analyzing trace with hash 972, now seen corresponding path program 1 times [2019-02-28 13:46:38,350 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-28 13:46:38,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:46:38,397 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-28 13:46:38,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:46:38,398 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-28 13:46:38,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-28 13:46:38,567 INFO L273 TraceCheckUtils]: 0: Hoare triple {10#true} havoc main_p1, main_p2;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;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {12#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-28 13:46:38,581 INFO L273 TraceCheckUtils]: 1: Hoare triple {12#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {11#false} is VALID [2019-02-28 13:46:38,583 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-28 13:46:38,585 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-28 13:46:38,585 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-28 13:46:38,586 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-28 13:46:38,590 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-28 13:46:38,592 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-28 13:46:38,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-28 13:46:38,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:46:38,614 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-28 13:46:38,620 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-28 13:46:38,621 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-28 13:46:38,624 INFO L87 Difference]: Start difference. First operand 7 states. Second operand 3 states. [2019-02-28 13:46:38,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:46:38,764 INFO L93 Difference]: Finished difference Result 13 states and 15 transitions. [2019-02-28 13:46:38,764 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-28 13:46:38,764 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-28 13:46:38,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-28 13:46:38,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-28 13:46:38,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 15 transitions. [2019-02-28 13:46:38,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-28 13:46:38,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 15 transitions. [2019-02-28 13:46:38,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 15 transitions. [2019-02-28 13:46:38,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:46:38,853 INFO L225 Difference]: With dead ends: 13 [2019-02-28 13:46:38,853 INFO L226 Difference]: Without dead ends: 8 [2019-02-28 13:46:38,856 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-02-28 13:46:38,870 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states. [2019-02-28 13:46:38,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 6. [2019-02-28 13:46:38,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-28 13:46:38,896 INFO L82 GeneralOperation]: Start isEquivalent. First operand 8 states. Second operand 6 states. [2019-02-28 13:46:38,897 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 6 states. [2019-02-28 13:46:38,897 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 6 states. [2019-02-28 13:46:38,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:46:38,900 INFO L93 Difference]: Finished difference Result 8 states and 10 transitions. [2019-02-28 13:46:38,900 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2019-02-28 13:46:38,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:46:38,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:46:38,901 INFO L74 IsIncluded]: Start isIncluded. First operand 6 states. Second operand 8 states. [2019-02-28 13:46:38,901 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 8 states. [2019-02-28 13:46:38,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:46:38,903 INFO L93 Difference]: Finished difference Result 8 states and 10 transitions. [2019-02-28 13:46:38,903 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2019-02-28 13:46:38,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:46:38,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:46:38,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-28 13:46:38,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-28 13:46:38,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-28 13:46:38,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 9 transitions. [2019-02-28 13:46:38,908 INFO L78 Accepts]: Start accepts. Automaton has 6 states and 9 transitions. Word has length 2 [2019-02-28 13:46:38,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-28 13:46:38,909 INFO L480 AbstractCegarLoop]: Abstraction has 6 states and 9 transitions. [2019-02-28 13:46:38,909 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-28 13:46:38,909 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 9 transitions. [2019-02-28 13:46:38,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-28 13:46:38,910 INFO L394 BasicCegarLoop]: Found error trace [2019-02-28 13:46:38,910 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-28 13:46:38,910 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-28 13:46:38,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:46:38,911 INFO L82 PathProgramCache]: Analyzing trace with hash 29988, now seen corresponding path program 1 times [2019-02-28 13:46:38,911 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-28 13:46:38,912 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:46:38,912 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-28 13:46:38,912 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:46:38,913 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-28 13:46:38,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-28 13:46:39,068 INFO L273 TraceCheckUtils]: 0: Hoare triple {54#true} havoc main_p1, main_p2;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;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {56#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-28 13:46:39,075 INFO L273 TraceCheckUtils]: 1: Hoare triple {56#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {57#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-28 13:46:39,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {57#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {55#false} is VALID [2019-02-28 13:46:39,077 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-28 13:46:39,077 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-28 13:46:39,077 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-28 13:46:39,078 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-28 13:46:39,080 INFO L207 CegarAbsIntRunner]: [0], [6], [11] [2019-02-28 13:46:39,135 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-28 13:46:39,136 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-28 13:47:32,734 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-28 13:47:32,735 INFO L272 AbstractInterpreter]: Visited 3 different actions 13 times. Merged at 1 different actions 5 times. Widened at 1 different actions 1 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-28 13:47:32,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:47:32,740 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-28 13:47:36,636 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-28 13:47:37,007 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-28 13:47:38,756 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-28 13:47:38,757 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-28 13:47:38,757 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [2] total 3 [2019-02-28 13:47:38,757 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-28 13:47:38,759 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-28 13:47:38,759 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-28 13:47:38,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-28 13:47:38,771 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:47:38,771 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-28 13:47:38,771 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-28 13:47:38,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-28 13:47:38,772 INFO L87 Difference]: Start difference. First operand 6 states and 9 transitions. Second operand 3 states. [2019-02-28 13:47:38,972 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:47:38,973 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:47:38,974 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:47:38,975 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:47:38,975 WARN L224 ngHoareTripleChecker]: Pre: {78#(forall ((v_idx_675 Int) (v_idx_679 Int) (v_idx_672 Int) (v_idx_681 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (or (and (<= 0 (select |c_#memory_int| v_idx_679)) (<= 0 (* 2 (select |c_#memory_int| v_idx_679)))) (< v_idx_679 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_679)) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_681)) (< v_idx_681 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_681)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_675) (= (select |c_#valid| v_idx_675) 1) (< v_idx_675 c_ULTIMATE.start_malloc_ptr)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_672)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_672) (< v_idx_672 c_ULTIMATE.start_malloc_ptr))))} [2019-02-28 13:47:38,975 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:47:38,976 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:47:38,976 WARN L230 ngHoareTripleChecker]: Post: {79#false} [2019-02-28 13:47:38,976 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:47:38,977 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:47:38,977 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:47:39,158 WARN L270 ngHoareTripleChecker]: Pre: {78#(and (forall ((v_idx_672 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_672)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_672) (< v_idx_672 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_679 Int)) (or (< v_idx_679 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_679) (<= 0 (* 2 (select |#memory_int| v_idx_679))))) (forall ((v_prenex_1 Int)) (or (< v_prenex_1 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_1) (<= 0 (select |#memory_int| v_prenex_1)))) (forall ((v_idx_681 Int)) (or (= 0 (select |#memory_int| v_idx_681)) (< v_idx_681 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_681))) (forall ((v_idx_675 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_675) (= (select |#valid| v_idx_675) 1) (< v_idx_675 ULTIMATE.start_malloc_ptr))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2))} [2019-02-28 13:47:39,158 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:47:39,159 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:47:39,161 WARN L276 ngHoareTripleChecker]: Post: {79#false} [2019-02-28 13:47:39,162 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:47:39,162 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:47:39,165 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1208 [b_84] v_1209 [b_85] v_1210 [b_86] v_1211 [b_87] v_1212 [inf_0], [#valid] -> [-inf_0] v_1205 [b_82] v_1206 [b_83] v_1207 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1201 [b_80] v_1202 [b_81] v_1203 [inf_0], [old(#memory_int)] -> [-inf_0] v_1795 [inf_0], [old(#valid)] -> [-inf_0] v_1794 [inf_0], }, Substate: {ints: {v_1209 = [0; inf]; v_1202 = [0; 0]; v_1211 = [0; 0]; v_1206 = [1; 1]}, 20 vars top, relations: {v_1202 + v_1209 = [0; inf]; v_1202 - v_1209 = [-inf; 0]; v_1206 + v_1209 = [1; inf]; v_1206 - v_1209 = [-inf; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_84 - b_86 = [-inf; -1]; b_85 - b_86 = [-inf; 0]; b_82 - b_86 = [0; 0]; b_83 - b_86 = [1; 1]; b_80 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; b_80 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_84 - b_85 = [-1; -1]; b_82 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; b_80 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_86 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_84 - b_87 = [-inf; -2]; b_85 - b_87 = [-inf; -1]; b_82 - b_87 = [-1; -1]; b_83 - b_87 = [0; 0]; b_80 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_80 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; b_80 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; b_80 - b_81 = [-1; -1]; v_1209 + v_1211 = [0; inf]; v_1209 - v_1211 = [0; inf]; v_1202 + v_1211 = [0; 0]; v_1202 - v_1211 = [0; 0]; v_1206 + v_1211 = [1; 1]; v_1206 - v_1211 = [1; 1]; v_1202 + v_1206 = [1; 1]; v_1202 - v_1206 = [-1; -1]}, }}} [2019-02-28 13:47:39,165 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-28 13:47:39,165 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:47:39,165 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:47:39,611 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:47:39,612 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:47:39,612 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:47:39,612 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:47:39,613 WARN L224 ngHoareTripleChecker]: Pre: {82#(forall ((v_idx_688 Int) (v_idx_685 Int) (v_idx_694 Int) (v_idx_692 Int)) (and (or (= (select |c_#memory_int| v_idx_694) 0) (< v_idx_694 c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_694)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_685) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_685)) (< v_idx_685 c_ULTIMATE.start_main_p2)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (< v_idx_692 c_ULTIMATE.start_main_p1) (and (<= 0 (* 2 (select |c_#memory_int| v_idx_692))) (<= 0 (select |c_#memory_int| v_idx_692))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_692)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_688) (< v_idx_688 c_ULTIMATE.start_main_p2) (= 1 (select |c_#valid| v_idx_688))) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-28 13:47:39,613 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:47:39,613 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:47:39,613 WARN L230 ngHoareTripleChecker]: Post: {83#false} [2019-02-28 13:47:39,614 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:47:39,615 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:47:39,615 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:47:39,794 WARN L270 ngHoareTripleChecker]: Pre: {82#(and (forall ((v_idx_692 Int)) (or (< v_idx_692 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_idx_692))) (<= (+ ULTIMATE.start_main_p1 1) v_idx_692))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_688 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_688) (< v_idx_688 ULTIMATE.start_main_p2) (= 1 (select |#valid| v_idx_688)))) (forall ((v_idx_685 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_685) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_685)) (< v_idx_685 ULTIMATE.start_main_p2))) (forall ((v_idx_694 Int)) (or (= (select |#memory_int| v_idx_694) 0) (< v_idx_694 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_idx_694))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_prenex_2 Int)) (or (<= 0 (select |#memory_int| v_prenex_2)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_2) (< v_prenex_2 ULTIMATE.start_main_p1))))} [2019-02-28 13:47:39,794 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:47:39,794 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:47:39,796 WARN L276 ngHoareTripleChecker]: Post: {83#false} [2019-02-28 13:47:39,796 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:47:39,797 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:47:39,798 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1208 [b_84] v_1209 [b_85] v_1210 [b_86] v_1211 [b_87] v_1212 [inf_0], [#valid] -> [-inf_0] v_1205 [b_82] v_1206 [b_83] v_1207 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1201 [b_80] v_1202 [b_81] v_1203 [inf_0], [old(#memory_int)] -> [-inf_0] v_1800 [inf_0], [old(#valid)] -> [-inf_0] v_1799 [inf_0], }, Substate: {ints: {v_1209 = [0; inf]; v_1202 = [0; 0]; v_1211 = [0; 0]; v_1206 = [1; 1]}, 20 vars top, relations: {v_1202 + v_1209 = [0; inf]; v_1202 - v_1209 = [-inf; 0]; v_1206 + v_1209 = [1; inf]; v_1206 - v_1209 = [-inf; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_84 - b_86 = [-inf; -1]; b_85 - b_86 = [-inf; 0]; b_82 - b_86 = [0; 0]; b_83 - b_86 = [1; 1]; b_80 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; b_80 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_84 - b_85 = [-1; -1]; b_82 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; b_80 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_86 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_84 - b_87 = [-inf; -2]; b_85 - b_87 = [-inf; -1]; b_82 - b_87 = [-1; -1]; b_83 - b_87 = [0; 0]; b_80 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_80 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; b_80 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; b_80 - b_81 = [-1; -1]; v_1209 + v_1211 = [0; inf]; v_1209 - v_1211 = [0; inf]; v_1202 + v_1211 = [0; 0]; v_1202 - v_1211 = [0; 0]; v_1206 + v_1211 = [1; 1]; v_1206 - v_1211 = [1; 1]; v_1202 + v_1206 = [1; 1]; v_1202 - v_1206 = [-1; -1]}, }}} [2019-02-28 13:47:39,798 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-28 13:47:39,798 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:47:39,798 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:47:42,034 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:47:42,035 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:47:42,035 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:47:42,035 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:47:42,036 WARN L224 ngHoareTripleChecker]: Pre: {88#(forall ((v_idx_775 Int) (v_idx_773 Int) (v_idx_769 Int) (v_idx_766 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_769 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_769) (= 1 (select |c_#valid| v_idx_769))) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_775 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_775) (= (select |c_#memory_int| v_idx_775) 0)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_773))) (<= 0 (select |c_#memory_int| v_idx_773))) (< v_idx_773 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_773)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (< v_idx_766 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_766) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_766) 0))))} [2019-02-28 13:47:42,036 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:47:42,036 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:47:42,036 WARN L230 ngHoareTripleChecker]: Post: {89#false} [2019-02-28 13:47:42,036 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:47:42,037 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:47:42,037 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:47:42,124 WARN L270 ngHoareTripleChecker]: Pre: {88#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_773 Int)) (or (<= 0 (* 2 (select |#memory_int| v_idx_773))) (< v_idx_773 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_773))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_769 Int)) (or (< v_idx_769 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_769) (= 1 (select |#valid| v_idx_769)))) (forall ((v_idx_766 Int)) (or (< v_idx_766 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_766) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_766) 0))) (forall ((v_prenex_3 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_3) (<= 0 (select |#memory_int| v_prenex_3)) (< v_prenex_3 ULTIMATE.start_main_p1))) (forall ((v_idx_775 Int)) (or (< v_idx_775 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_775) (= (select |#memory_int| v_idx_775) 0))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2))} [2019-02-28 13:47:42,125 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:47:42,125 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:47:42,127 WARN L276 ngHoareTripleChecker]: Post: {89#false} [2019-02-28 13:47:42,127 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:47:42,127 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:47:42,128 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1208 [b_84] v_1209 [b_85] v_1210 [b_86] v_1211 [b_87] v_1212 [inf_0], [#valid] -> [-inf_0] v_1205 [b_82] v_1206 [b_83] v_1207 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1201 [b_80] v_1202 [b_81] v_1203 [inf_0], [old(#memory_int)] -> [-inf_0] v_1832 [inf_0], [old(#valid)] -> [-inf_0] v_1831 [inf_0], }, Substate: {ints: {v_1209 = [0; inf]; v_1202 = [0; 0]; v_1211 = [0; 0]; v_1206 = [1; 1]}, 20 vars top, relations: {v_1202 + v_1209 = [0; inf]; v_1202 - v_1209 = [-inf; 0]; v_1206 + v_1209 = [1; inf]; v_1206 - v_1209 = [-inf; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_84 - b_86 = [-inf; -1]; b_85 - b_86 = [-inf; 0]; b_82 - b_86 = [0; 0]; b_83 - b_86 = [1; 1]; b_80 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; b_80 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_84 - b_85 = [-1; -1]; b_82 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; b_80 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_86 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_84 - b_87 = [-inf; -2]; b_85 - b_87 = [-inf; -1]; b_82 - b_87 = [-1; -1]; b_83 - b_87 = [0; 0]; b_80 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_80 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; b_80 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; b_80 - b_81 = [-1; -1]; v_1209 + v_1211 = [0; inf]; v_1209 - v_1211 = [0; inf]; v_1202 + v_1211 = [0; 0]; v_1202 - v_1211 = [0; 0]; v_1206 + v_1211 = [1; 1]; v_1206 - v_1211 = [1; 1]; v_1202 + v_1206 = [1; 1]; v_1202 - v_1206 = [-1; -1]}, }}} [2019-02-28 13:47:42,128 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-28 13:47:42,129 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:47:42,129 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:47:42,826 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:47:42,826 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:47:42,826 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:47:42,827 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:47:42,827 WARN L224 ngHoareTripleChecker]: Pre: {92#true} [2019-02-28 13:47:42,827 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:47:42,827 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:47:42,828 WARN L230 ngHoareTripleChecker]: Post: {93#(forall ((v_idx_824 Int) (v_idx_822 Int) (v_idx_816 Int) (v_idx_819 Int)) (and (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_816)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_816) (< v_idx_816 c_ULTIMATE.start_malloc_ptr)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (< v_idx_824 c_ULTIMATE.start_malloc_ptr) (= (select |c_#memory_int| v_idx_824) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_824)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (< v_idx_819 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_819) (= (select |c_#valid| v_idx_819) 1)) (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_822))) (<= 0 (select |c_#memory_int| v_idx_822))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_822) (< v_idx_822 c_ULTIMATE.start_main_p1))))} [2019-02-28 13:47:42,828 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:47:42,828 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:47:42,829 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:47:42,833 WARN L270 ngHoareTripleChecker]: Pre: {92#true} [2019-02-28 13:47:42,833 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:47:42,833 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:47:42,878 WARN L276 ngHoareTripleChecker]: Post: {93#(and (forall ((v_idx_824 Int)) (or (< v_idx_824 ULTIMATE.start_malloc_ptr) (= (select |#memory_int| v_idx_824) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_824))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_816 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_816)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_816) (< v_idx_816 ULTIMATE.start_malloc_ptr))) (forall ((v_idx_822 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_idx_822) (<= 0 (* 2 (select |#memory_int| v_idx_822))) (< v_idx_822 ULTIMATE.start_main_p1))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_prenex_4 Int)) (or (< v_prenex_4 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_4)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_4))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_idx_819 Int)) (or (< v_idx_819 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_819) (= (select |#valid| v_idx_819) 1))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2))} [2019-02-28 13:47:42,878 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:47:42,878 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:47:42,879 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1839 [inf_0], [#valid] -> [-inf_0] v_1837 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1836 [inf_0], [old(#memory_int)] -> [-inf_0] v_1840 [inf_0], [old(#valid)] -> [-inf_0] v_1838 [inf_0], }, Substate: {8 vars top, }}} [2019-02-28 13:47:42,879 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-28 13:47:42,880 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1208 [b_84] v_1209 [b_85] v_1210 [b_86] v_1211 [b_87] v_1212 [inf_0], [#valid] -> [-inf_0] v_1205 [b_82] v_1206 [b_83] v_1207 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1201 [b_80] v_1202 [b_81] v_1203 [inf_0], }, Substate: {ints: {v_1209 = [0; inf]; v_1202 = [0; 0]; v_1211 = [0; 0]; v_1206 = [1; 1]}, 18 vars top, relations: {v_1202 + v_1209 = [0; inf]; v_1202 - v_1209 = [-inf; 0]; v_1206 + v_1209 = [1; inf]; v_1206 - v_1209 = [-inf; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; b_80 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_84 - b_87 = [-inf; -2]; b_82 - b_87 = [-1; -1]; b_86 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_85 - b_87 = [-inf; -1]; b_83 - b_87 = [0; 0]; b_80 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_80 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_84 - b_86 = [-inf; -1]; b_82 - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_85 - b_86 = [-inf; 0]; b_83 - b_86 = [1; 1]; b_80 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_84 - b_85 = [-1; -1]; b_82 - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; b_80 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_80 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; b_80 - b_81 = [-1; -1]; v_1209 + v_1211 = [0; inf]; v_1209 - v_1211 = [0; inf]; v_1202 + v_1211 = [0; 0]; v_1202 - v_1211 = [0; 0]; v_1206 + v_1211 = [1; 1]; v_1206 - v_1211 = [1; 1]; v_1202 + v_1206 = [1; 1]; v_1202 - v_1206 = [-1; -1]}, }}} [2019-02-28 13:47:42,880 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:47:44,606 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:47:44,606 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:47:44,607 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:47:44,607 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:47:44,608 WARN L224 ngHoareTripleChecker]: Pre: {97#true} [2019-02-28 13:47:44,608 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:47:44,608 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:47:44,608 WARN L230 ngHoareTripleChecker]: Post: {98#(forall ((v_idx_912 Int) (v_idx_920 Int) (v_idx_915 Int) (v_idx_918 Int)) (and (or (< v_idx_918 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_918) (and (<= 0 (select |c_#memory_int| v_idx_918)) (<= 0 (* 2 (select |c_#memory_int| v_idx_918))))) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_920) (= (select |c_#memory_int| v_idx_920) 0) (< v_idx_920 c_ULTIMATE.start_malloc_ptr)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_912)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_912) (< v_idx_912 c_ULTIMATE.start_malloc_ptr)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (< v_idx_915 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_915) (= 1 (select |c_#valid| v_idx_915)))))} [2019-02-28 13:47:44,609 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:47:44,609 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:47:44,609 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:47:44,610 WARN L270 ngHoareTripleChecker]: Pre: {97#true} [2019-02-28 13:47:44,611 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:47:44,611 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:47:44,666 WARN L276 ngHoareTripleChecker]: Post: {98#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_prenex_5 Int)) (or (< v_prenex_5 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_5) (<= 0 (* 2 (select |#memory_int| v_prenex_5))))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_918 Int)) (or (<= 0 (select |#memory_int| v_idx_918)) (< v_idx_918 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_918))) (forall ((v_idx_912 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_912)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_912) (< v_idx_912 ULTIMATE.start_malloc_ptr))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_idx_920 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_920) (= (select |#memory_int| v_idx_920) 0) (< v_idx_920 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_idx_915 Int)) (or (< v_idx_915 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_915) (= 1 (select |#valid| v_idx_915)))))} [2019-02-28 13:47:44,666 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:47:44,667 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:47:44,667 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1899 [inf_0], [#valid] -> [-inf_0] v_1897 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1896 [inf_0], [old(#memory_int)] -> [-inf_0] v_1900 [inf_0], [old(#valid)] -> [-inf_0] v_1898 [inf_0], }, Substate: {8 vars top, }}} [2019-02-28 13:47:44,667 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-28 13:47:44,669 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1208 [b_84] v_1209 [b_85] v_1210 [b_86] v_1211 [b_87] v_1212 [inf_0], [#valid] -> [-inf_0] v_1205 [b_82] v_1206 [b_83] v_1207 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1201 [b_80] v_1202 [b_81] v_1203 [inf_0], }, Substate: {ints: {v_1209 = [0; inf]; v_1202 = [0; 0]; v_1211 = [0; 0]; v_1206 = [1; 1]}, 18 vars top, relations: {v_1202 + v_1209 = [0; inf]; v_1202 - v_1209 = [-inf; 0]; v_1206 + v_1209 = [1; inf]; v_1206 - v_1209 = [-inf; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; b_80 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_84 - b_87 = [-inf; -2]; b_82 - b_87 = [-1; -1]; b_86 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_85 - b_87 = [-inf; -1]; b_83 - b_87 = [0; 0]; b_80 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_80 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_84 - b_86 = [-inf; -1]; b_82 - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_85 - b_86 = [-inf; 0]; b_83 - b_86 = [1; 1]; b_80 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_84 - b_85 = [-1; -1]; b_82 - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; b_80 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_80 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; b_80 - b_81 = [-1; -1]; v_1209 + v_1211 = [0; inf]; v_1209 - v_1211 = [0; inf]; v_1202 + v_1211 = [0; 0]; v_1202 - v_1211 = [0; 0]; v_1206 + v_1211 = [1; 1]; v_1206 - v_1211 = [1; 1]; v_1202 + v_1206 = [1; 1]; v_1202 - v_1206 = [-1; -1]}, }}} [2019-02-28 13:47:44,669 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:47:45,749 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:47:45,750 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:47:45,750 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:47:45,751 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:47:45,751 WARN L224 ngHoareTripleChecker]: Pre: {103#true} [2019-02-28 13:47:45,751 WARN L228 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-28 13:47:45,751 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-28 13:47:45,752 WARN L230 ngHoareTripleChecker]: Post: {104#(forall ((v_idx_973 Int) (v_idx_976 Int) (v_idx_979 Int) (v_idx_981 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_981) (= (select |c_#memory_int| v_idx_981) 0) (< v_idx_981 c_ULTIMATE.start_malloc_ptr)) (or (< v_idx_976 c_ULTIMATE.start_malloc_ptr) (= 1 (select |c_#valid| v_idx_976)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_976)) (or (< v_idx_979 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_979) (and (<= 0 (select |c_#memory_int| v_idx_979)) (<= 0 (* 2 (select |c_#memory_int| v_idx_979))))) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_973) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_973) 0) (< v_idx_973 c_ULTIMATE.start_malloc_ptr)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-28 13:47:45,752 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:47:45,752 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:47:45,753 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:47:45,753 WARN L270 ngHoareTripleChecker]: Pre: {103#true} [2019-02-28 13:47:45,754 WARN L274 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-28 13:47:45,754 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-28 13:47:45,794 WARN L276 ngHoareTripleChecker]: Post: {104#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_973 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_973) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_973) 0) (< v_idx_973 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_6 Int)) (or (<= 0 (select |#memory_int| v_prenex_6)) (< v_prenex_6 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_6))) (forall ((v_idx_981 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_981) (= (select |#memory_int| v_idx_981) 0) (< v_idx_981 ULTIMATE.start_malloc_ptr))) (forall ((v_idx_979 Int)) (or (< v_idx_979 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_idx_979))) (<= (+ ULTIMATE.start_main_p1 1) v_idx_979))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_idx_976 Int)) (or (< v_idx_976 ULTIMATE.start_malloc_ptr) (= 1 (select |#valid| v_idx_976)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_976))))} [2019-02-28 13:47:45,794 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:47:45,795 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:47:45,795 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1934 [inf_0], [#valid] -> [-inf_0] v_1932 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1931 [inf_0], [old(#memory_int)] -> [-inf_0] v_1935 [inf_0], [old(#valid)] -> [-inf_0] v_1933 [inf_0], }, Substate: {8 vars top, }}} [2019-02-28 13:47:45,795 WARN L628 ntHoareTripleChecker]: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) (assume !(#memory_int[main_p2] <= 0);) [2019-02-28 13:47:45,796 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1208 [b_84] v_1209 [b_85] v_1210 [b_86] v_1211 [b_87] v_1212 [inf_0], [#valid] -> [-inf_0] v_1205 [b_82] v_1206 [b_83] v_1207 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1201 [b_80] v_1202 [b_81] v_1203 [inf_0], }, Substate: {ints: {v_1209 = [0; inf]; v_1202 = [0; 0]; v_1211 = [0; 0]; v_1206 = [1; 1]}, 18 vars top, relations: {v_1202 + v_1209 = [0; inf]; v_1202 - v_1209 = [-inf; 0]; v_1206 + v_1209 = [1; inf]; v_1206 - v_1209 = [-inf; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; b_80 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_84 - b_87 = [-inf; -2]; b_82 - b_87 = [-1; -1]; b_86 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_85 - b_87 = [-inf; -1]; b_83 - b_87 = [0; 0]; b_80 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_80 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_84 - b_86 = [-inf; -1]; b_82 - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_85 - b_86 = [-inf; 0]; b_83 - b_86 = [1; 1]; b_80 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_84 - b_85 = [-1; -1]; b_82 - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; b_80 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_80 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; b_80 - b_81 = [-1; -1]; v_1209 + v_1211 = [0; inf]; v_1209 - v_1211 = [0; inf]; v_1202 + v_1211 = [0; 0]; v_1202 - v_1211 = [0; 0]; v_1206 + v_1211 = [1; 1]; v_1206 - v_1211 = [1; 1]; v_1202 + v_1206 = [1; 1]; v_1202 - v_1206 = [-1; -1]}, }}} [2019-02-28 13:47:45,797 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:47:45,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:47:45,800 INFO L93 Difference]: Finished difference Result 10 states and 14 transitions. [2019-02-28 13:47:45,800 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-28 13:47:45,800 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-28 13:47:45,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-28 13:47:45,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-28 13:47:45,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-28 13:47:45,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-28 13:47:45,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-28 13:47:45,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2019-02-28 13:47:45,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:47:45,828 INFO L225 Difference]: With dead ends: 10 [2019-02-28 13:47:45,828 INFO L226 Difference]: Without dead ends: 7 [2019-02-28 13:47:45,829 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-28 13:47:45,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7 states. [2019-02-28 13:47:45,844 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7 to 6. [2019-02-28 13:47:45,845 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-28 13:47:45,845 INFO L82 GeneralOperation]: Start isEquivalent. First operand 7 states. Second operand 6 states. [2019-02-28 13:47:45,845 INFO L74 IsIncluded]: Start isIncluded. First operand 7 states. Second operand 6 states. [2019-02-28 13:47:45,846 INFO L87 Difference]: Start difference. First operand 7 states. Second operand 6 states. [2019-02-28 13:47:45,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:47:45,847 INFO L93 Difference]: Finished difference Result 7 states and 10 transitions. [2019-02-28 13:47:45,847 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 10 transitions. [2019-02-28 13:47:45,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:47:45,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:47:45,848 INFO L74 IsIncluded]: Start isIncluded. First operand 6 states. Second operand 7 states. [2019-02-28 13:47:45,848 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 7 states. [2019-02-28 13:47:45,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:47:45,849 INFO L93 Difference]: Finished difference Result 7 states and 10 transitions. [2019-02-28 13:47:45,850 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 10 transitions. [2019-02-28 13:47:45,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:47:45,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:47:45,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-28 13:47:45,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-28 13:47:45,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-28 13:47:45,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 8 transitions. [2019-02-28 13:47:45,851 INFO L78 Accepts]: Start accepts. Automaton has 6 states and 8 transitions. Word has length 3 [2019-02-28 13:47:45,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-28 13:47:45,852 INFO L480 AbstractCegarLoop]: Abstraction has 6 states and 8 transitions. [2019-02-28 13:47:45,852 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-28 13:47:45,852 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 8 transitions. [2019-02-28 13:47:45,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-28 13:47:45,852 INFO L394 BasicCegarLoop]: Found error trace [2019-02-28 13:47:45,853 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-28 13:47:45,853 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-28 13:47:45,853 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:47:45,853 INFO L82 PathProgramCache]: Analyzing trace with hash 30050, now seen corresponding path program 1 times [2019-02-28 13:47:45,854 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-28 13:47:45,855 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:47:45,855 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-28 13:47:45,855 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:47:45,855 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-28 13:47:45,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-28 13:47:45,963 INFO L273 TraceCheckUtils]: 0: Hoare triple {130#true} havoc main_p1, main_p2;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;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {132#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-28 13:47:45,971 INFO L273 TraceCheckUtils]: 1: Hoare triple {132#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {133#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-28 13:47:45,972 INFO L273 TraceCheckUtils]: 2: Hoare triple {133#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {131#false} is VALID [2019-02-28 13:47:45,972 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-28 13:47:45,973 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-28 13:47:45,973 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-28 13:47:45,973 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-28 13:47:45,973 INFO L207 CegarAbsIntRunner]: [0], [8], [11] [2019-02-28 13:47:45,974 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-28 13:47:45,974 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-28 13:48:28,888 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-28 13:48:28,889 INFO L272 AbstractInterpreter]: Visited 3 different actions 13 times. Merged at 1 different actions 5 times. Widened at 1 different actions 1 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-28 13:48:28,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:48:28,889 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-28 13:48:32,385 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-28 13:48:32,948 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-28 13:48:34,718 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-28 13:48:34,718 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-28 13:48:34,719 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [2] total 3 [2019-02-28 13:48:34,719 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-28 13:48:34,719 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-28 13:48:34,719 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-28 13:48:34,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-28 13:48:34,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:48:34,762 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-28 13:48:34,763 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-28 13:48:34,763 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-28 13:48:34,763 INFO L87 Difference]: Start difference. First operand 6 states and 8 transitions. Second operand 3 states. [2019-02-28 13:48:35,104 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:48:35,104 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:48:35,105 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:48:35,105 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:48:35,105 WARN L224 ngHoareTripleChecker]: Pre: {154#(forall ((v_idx_1631 Int) (v_idx_1628 Int) (v_idx_1637 Int) (v_idx_1635 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_1635)) (< v_idx_1635 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1635)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (= (select |c_#valid| v_idx_1631) 1) (< v_idx_1631 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1631)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (< v_idx_1637 c_ULTIMATE.start_malloc_ptr) (and (<= (select |c_#memory_int| v_idx_1637) 0) (<= (* 2 (select |c_#memory_int| v_idx_1637)) 0)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1637)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1628)) (< v_idx_1628 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1628))))} [2019-02-28 13:48:35,105 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:48:35,105 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:48:35,106 WARN L230 ngHoareTripleChecker]: Post: {155#false} [2019-02-28 13:48:35,106 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:48:35,106 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:48:35,106 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:48:35,143 WARN L270 ngHoareTripleChecker]: Pre: {154#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1637 Int)) (or (<= (* 2 (select |#memory_int| v_idx_1637)) 0) (< v_idx_1637 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1637))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_prenex_7 Int)) (or (<= (select |#memory_int| v_prenex_7) 0) (< v_prenex_7 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_7))) (forall ((v_idx_1628 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_1628)) (< v_idx_1628 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1628))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_idx_1631 Int)) (or (= (select |#valid| v_idx_1631) 1) (< v_idx_1631 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1631))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_idx_1635 Int)) (or (= 0 (select |#memory_int| v_idx_1635)) (< v_idx_1635 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1635))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-28 13:48:35,144 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:48:35,144 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:48:35,145 WARN L276 ngHoareTripleChecker]: Post: {155#false} [2019-02-28 13:48:35,146 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:48:35,146 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:48:35,147 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1052 [b_92] v_1053 [b_93] v_1054 [b_94] v_1055 [b_95] v_1056 [inf_0], [#valid] -> [-inf_0] v_1049 [b_90] v_1050 [b_91] v_1051 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1045 [b_88] v_1046 [b_89] v_1047 [inf_0], [old(#memory_int)] -> [-inf_0] v_1626 [inf_0], [old(#valid)] -> [-inf_0] v_1625 [inf_0], }, Substate: {ints: {v_1046 = [0; 0]; v_1055 = [-inf; 0]; v_1053 = [0; 0]; v_1050 = [1; 1]}, 20 vars top, relations: {ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_89 - b_91 = [0; 0]; b_90 - b_91 = [-1; -1]; b_91 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_88 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_89 - b_93 = [1; inf]; b_92 - b_93 = [-1; -1]; b_90 - b_93 = [0; inf]; b_91 - b_94 = [1; 1]; b_93 - b_94 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_88 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_89 - b_94 = [1; 1]; b_92 - b_94 = [-inf; -1]; b_90 - b_94 = [0; 0]; v_1046 + v_1055 = [-inf; 0]; v_1046 - v_1055 = [0; inf]; v_1053 + v_1055 = [-inf; 0]; v_1053 - v_1055 = [0; inf]; v_1050 + v_1055 = [-inf; 1]; v_1050 - v_1055 = [1; inf]; b_91 - b_95 = [0; 0]; b_93 - b_95 = [-inf; -1]; b_94 - b_95 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_89 - b_95 = [0; 0]; b_92 - b_95 = [-inf; -2]; b_90 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1046 + v_1053 = [0; 0]; v_1046 - v_1053 = [0; 0]; v_1050 + v_1053 = [1; 1]; v_1050 - v_1053 = [1; 1]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_91 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_89 - b_92 = [2; inf]; b_90 - b_92 = [1; inf]; v_1046 + v_1050 = [1; 1]; v_1046 - v_1050 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_89 - b_90 = [1; 1]}, }}} [2019-02-28 13:48:35,148 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-28 13:48:35,148 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:48:35,148 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:48:36,993 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:48:36,993 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:48:36,993 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:48:36,993 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:48:36,994 WARN L224 ngHoareTripleChecker]: Pre: {160#(forall ((v_idx_1709 Int) (v_idx_1718 Int) (v_idx_1716 Int) (v_idx_1712 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_1718 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1718) (and (<= (select |c_#memory_int| v_idx_1718) 0) (<= (* 2 (select |c_#memory_int| v_idx_1718)) 0))) (or (= 0 (select |c_#memory_int| v_idx_1716)) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1716) (< v_idx_1716 c_ULTIMATE.start_main_p1)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1712) (< v_idx_1712 c_ULTIMATE.start_malloc_ptr) (= 1 (select |c_#valid| v_idx_1712))) (or (< v_idx_1709 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1709) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1709)))))} [2019-02-28 13:48:36,994 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:48:36,994 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:48:36,994 WARN L230 ngHoareTripleChecker]: Post: {161#false} [2019-02-28 13:48:36,994 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:48:36,995 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:48:36,995 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:48:37,048 WARN L270 ngHoareTripleChecker]: Pre: {160#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1712 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1712) (< v_idx_1712 ULTIMATE.start_malloc_ptr) (= 1 (select |#valid| v_idx_1712)))) (forall ((v_idx_1718 Int)) (or (<= (select |#memory_int| v_idx_1718) 0) (< v_idx_1718 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1718))) (forall ((v_idx_1709 Int)) (or (< v_idx_1709 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1709) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_1709)))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1716 Int)) (or (= 0 (select |#memory_int| v_idx_1716)) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1716) (< v_idx_1716 ULTIMATE.start_main_p1))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_prenex_8 Int)) (or (< v_prenex_8 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_8)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_8))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-28 13:48:37,048 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:48:37,049 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:48:37,050 WARN L276 ngHoareTripleChecker]: Post: {161#false} [2019-02-28 13:48:37,050 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:48:37,050 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:48:37,052 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1052 [b_92] v_1053 [b_93] v_1054 [b_94] v_1055 [b_95] v_1056 [inf_0], [#valid] -> [-inf_0] v_1049 [b_90] v_1050 [b_91] v_1051 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1045 [b_88] v_1046 [b_89] v_1047 [inf_0], [old(#memory_int)] -> [-inf_0] v_1658 [inf_0], [old(#valid)] -> [-inf_0] v_1657 [inf_0], }, Substate: {ints: {v_1046 = [0; 0]; v_1055 = [-inf; 0]; v_1053 = [0; 0]; v_1050 = [1; 1]}, 20 vars top, relations: {ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_89 - b_91 = [0; 0]; b_90 - b_91 = [-1; -1]; b_91 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_88 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_89 - b_93 = [1; inf]; b_92 - b_93 = [-1; -1]; b_90 - b_93 = [0; inf]; b_91 - b_94 = [1; 1]; b_93 - b_94 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_88 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_89 - b_94 = [1; 1]; b_92 - b_94 = [-inf; -1]; b_90 - b_94 = [0; 0]; v_1046 + v_1055 = [-inf; 0]; v_1046 - v_1055 = [0; inf]; v_1053 + v_1055 = [-inf; 0]; v_1053 - v_1055 = [0; inf]; v_1050 + v_1055 = [-inf; 1]; v_1050 - v_1055 = [1; inf]; b_91 - b_95 = [0; 0]; b_93 - b_95 = [-inf; -1]; b_94 - b_95 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_89 - b_95 = [0; 0]; b_92 - b_95 = [-inf; -2]; b_90 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1046 + v_1053 = [0; 0]; v_1046 - v_1053 = [0; 0]; v_1050 + v_1053 = [1; 1]; v_1050 - v_1053 = [1; 1]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_91 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_89 - b_92 = [2; inf]; b_90 - b_92 = [1; inf]; v_1046 + v_1050 = [1; 1]; v_1046 - v_1050 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_89 - b_90 = [1; 1]}, }}} [2019-02-28 13:48:37,052 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-28 13:48:37,052 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:48:37,052 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:48:38,111 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:48:38,112 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:48:38,112 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:48:38,113 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:48:38,113 WARN L224 ngHoareTripleChecker]: Pre: {164#true} [2019-02-28 13:48:38,113 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:48:38,113 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:48:38,114 WARN L230 ngHoareTripleChecker]: Post: {165#(forall ((v_idx_1762 Int) (v_idx_1759 Int) (v_idx_1767 Int) (v_idx_1765 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_1759 c_ULTIMATE.start_malloc_ptr) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1759) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1759)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= (select |c_#memory_int| v_idx_1765) 0) (< v_idx_1765 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1765)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1767) (and (<= (* 2 (select |c_#memory_int| v_idx_1767)) 0) (<= (select |c_#memory_int| v_idx_1767) 0)) (< v_idx_1767 c_ULTIMATE.start_malloc_ptr)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (< v_idx_1762 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1762) (= 1 (select |c_#valid| v_idx_1762)))))} [2019-02-28 13:48:38,114 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:48:38,114 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:48:38,115 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:48:38,115 WARN L270 ngHoareTripleChecker]: Pre: {164#true} [2019-02-28 13:48:38,115 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:48:38,116 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:48:38,150 WARN L276 ngHoareTripleChecker]: Post: {165#(and (forall ((v_idx_1767 Int)) (or (<= (select |#memory_int| v_idx_1767) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1767) (< v_idx_1767 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1762 Int)) (or (< v_idx_1762 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1762) (= 1 (select |#valid| v_idx_1762)))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_idx_1759 Int)) (or (< v_idx_1759 ULTIMATE.start_malloc_ptr) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1759) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1759))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (forall ((v_idx_1765 Int)) (or (= (select |#memory_int| v_idx_1765) 0) (< v_idx_1765 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1765))) (forall ((v_prenex_9 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_9)) 0) (< v_prenex_9 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_9))))} [2019-02-28 13:48:38,151 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:48:38,151 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:48:38,151 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1665 [inf_0], [#valid] -> [-inf_0] v_1663 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1662 [inf_0], [old(#memory_int)] -> [-inf_0] v_1666 [inf_0], [old(#valid)] -> [-inf_0] v_1664 [inf_0], }, Substate: {8 vars top, }}} [2019-02-28 13:48:38,151 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-28 13:48:38,152 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1052 [b_92] v_1053 [b_93] v_1054 [b_94] v_1055 [b_95] v_1056 [inf_0], [#valid] -> [-inf_0] v_1049 [b_90] v_1050 [b_91] v_1051 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1045 [b_88] v_1046 [b_89] v_1047 [inf_0], }, Substate: {ints: {v_1046 = [0; 0]; v_1055 = [-inf; 0]; v_1053 = [0; 0]; v_1050 = [1; 1]}, 18 vars top, relations: {ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_89 - b_93 = [1; inf]; b_90 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_88 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_93 - b_95 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_89 - b_95 = [0; 0]; b_90 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; b_94 - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_92 - b_95 = [-inf; -2]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; b_89 - b_90 = [1; 1]; b_88 - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_89 - b_91 = [0; 0]; b_90 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_93 - b_94 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_89 - b_94 = [1; 1]; b_90 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; b_88 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_92 - b_94 = [-inf; -1]; v_1046 + v_1055 = [-inf; 0]; v_1046 - v_1055 = [0; inf]; v_1053 + v_1055 = [-inf; 0]; v_1053 - v_1055 = [0; inf]; v_1050 + v_1055 = [-inf; 1]; v_1050 - v_1055 = [1; inf]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1046 + v_1053 = [0; 0]; v_1046 - v_1053 = [0; 0]; v_1050 + v_1053 = [1; 1]; v_1050 - v_1053 = [1; 1]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_89 - b_92 = [2; inf]; b_90 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; b_88 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; v_1046 + v_1050 = [1; 1]; v_1046 - v_1050 = [-1; -1]}, }}} [2019-02-28 13:48:38,153 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:48:38,282 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:48:38,283 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:48:38,283 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:48:38,283 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:48:38,284 WARN L224 ngHoareTripleChecker]: Pre: {169#(forall ((v_idx_1773 Int) (v_idx_1770 Int) (v_idx_1779 Int) (v_idx_1777 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (< v_idx_1777 c_ULTIMATE.start_main_p1) (= 0 (select |c_#memory_int| v_idx_1777)) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1777)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (< v_idx_1770 c_ULTIMATE.start_malloc_ptr) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1770) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1770)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1773) (< v_idx_1773 c_ULTIMATE.start_malloc_ptr) (= (select |c_#valid| v_idx_1773) 1)) (or (< v_idx_1779 c_ULTIMATE.start_malloc_ptr) (and (<= (* 2 (select |c_#memory_int| v_idx_1779)) 0) (<= (select |c_#memory_int| v_idx_1779) 0)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1779))))} [2019-02-28 13:48:38,284 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:48:38,284 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:48:38,285 WARN L230 ngHoareTripleChecker]: Post: {170#false} [2019-02-28 13:48:38,285 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:48:38,285 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:48:38,286 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:48:38,331 WARN L270 ngHoareTripleChecker]: Pre: {169#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1779 Int)) (or (< v_idx_1779 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_idx_1779)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1779))) (forall ((v_idx_1773 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1773) (< v_idx_1773 ULTIMATE.start_malloc_ptr) (= (select |#valid| v_idx_1773) 1))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1770 Int)) (or (< v_idx_1770 ULTIMATE.start_malloc_ptr) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1770) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1770))) (forall ((v_idx_1777 Int)) (or (< v_idx_1777 ULTIMATE.start_main_p1) (= 0 (select |#memory_int| v_idx_1777)) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1777))) (forall ((v_prenex_10 Int)) (or (<= (select |#memory_int| v_prenex_10) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_10) (< v_prenex_10 ULTIMATE.start_malloc_ptr))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-28 13:48:38,332 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:48:38,332 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:48:38,333 WARN L276 ngHoareTripleChecker]: Post: {170#false} [2019-02-28 13:48:38,334 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:48:38,334 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:48:38,335 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1052 [b_92] v_1053 [b_93] v_1054 [b_94] v_1055 [b_95] v_1056 [inf_0], [#valid] -> [-inf_0] v_1049 [b_90] v_1050 [b_91] v_1051 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1045 [b_88] v_1046 [b_89] v_1047 [inf_0], [old(#memory_int)] -> [-inf_0] v_1693 [inf_0], [old(#valid)] -> [-inf_0] v_1692 [inf_0], }, Substate: {ints: {v_1046 = [0; 0]; v_1055 = [-inf; 0]; v_1053 = [0; 0]; v_1050 = [1; 1]}, 20 vars top, relations: {ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_89 - b_91 = [0; 0]; b_90 - b_91 = [-1; -1]; b_91 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_88 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_89 - b_93 = [1; inf]; b_92 - b_93 = [-1; -1]; b_90 - b_93 = [0; inf]; b_91 - b_94 = [1; 1]; b_93 - b_94 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_88 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_89 - b_94 = [1; 1]; b_92 - b_94 = [-inf; -1]; b_90 - b_94 = [0; 0]; v_1046 + v_1055 = [-inf; 0]; v_1046 - v_1055 = [0; inf]; v_1053 + v_1055 = [-inf; 0]; v_1053 - v_1055 = [0; inf]; v_1050 + v_1055 = [-inf; 1]; v_1050 - v_1055 = [1; inf]; b_91 - b_95 = [0; 0]; b_93 - b_95 = [-inf; -1]; b_94 - b_95 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_89 - b_95 = [0; 0]; b_92 - b_95 = [-inf; -2]; b_90 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1046 + v_1053 = [0; 0]; v_1046 - v_1053 = [0; 0]; v_1050 + v_1053 = [1; 1]; v_1050 - v_1053 = [1; 1]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_91 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_89 - b_92 = [2; inf]; b_90 - b_92 = [1; inf]; v_1046 + v_1050 = [1; 1]; v_1046 - v_1050 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_89 - b_90 = [1; 1]}, }}} [2019-02-28 13:48:38,336 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-28 13:48:38,336 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:48:38,336 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:48:39,705 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:48:39,706 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:48:39,706 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:48:39,706 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:48:39,706 WARN L224 ngHoareTripleChecker]: Pre: {175#true} [2019-02-28 13:48:39,706 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:48:39,707 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:48:39,707 WARN L230 ngHoareTripleChecker]: Post: {176#(forall ((v_idx_1874 Int) (v_idx_1871 Int) (v_idx_1868 Int) (v_idx_1876 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1868) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1868)) (< v_idx_1868 c_ULTIMATE.start_malloc_ptr)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (= 1 (select |c_#valid| v_idx_1871)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1871) (< v_idx_1871 c_ULTIMATE.start_malloc_ptr)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (< v_idx_1874 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1874) (= 0 (select |c_#memory_int| v_idx_1874))) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (< v_idx_1876 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1876) (and (<= (select |c_#memory_int| v_idx_1876) 0) (<= (* 2 (select |c_#memory_int| v_idx_1876)) 0)))))} [2019-02-28 13:48:39,707 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:48:39,707 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:48:39,707 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:48:39,708 WARN L270 ngHoareTripleChecker]: Pre: {175#true} [2019-02-28 13:48:39,708 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:48:39,708 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:48:39,754 WARN L276 ngHoareTripleChecker]: Post: {176#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1876 Int)) (or (< v_idx_1876 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1876) (<= (select |#memory_int| v_idx_1876) 0))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_prenex_11 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_11)) 0) (< v_prenex_11 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_11))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (forall ((v_idx_1868 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1868) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_1868)) (< v_idx_1868 ULTIMATE.start_malloc_ptr))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_idx_1871 Int)) (or (= 1 (select |#valid| v_idx_1871)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1871) (< v_idx_1871 ULTIMATE.start_malloc_ptr))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (forall ((v_idx_1874 Int)) (or (< v_idx_1874 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1874) (= 0 (select |#memory_int| v_idx_1874)))))} [2019-02-28 13:48:39,754 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:48:39,754 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:48:39,754 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1730 [inf_0], [#valid] -> [-inf_0] v_1728 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1727 [inf_0], [old(#memory_int)] -> [-inf_0] v_1731 [inf_0], [old(#valid)] -> [-inf_0] v_1729 [inf_0], }, Substate: {8 vars top, }}} [2019-02-28 13:48:39,755 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-28 13:48:39,755 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1052 [b_92] v_1053 [b_93] v_1054 [b_94] v_1055 [b_95] v_1056 [inf_0], [#valid] -> [-inf_0] v_1049 [b_90] v_1050 [b_91] v_1051 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1045 [b_88] v_1046 [b_89] v_1047 [inf_0], }, Substate: {ints: {v_1046 = [0; 0]; v_1055 = [-inf; 0]; v_1053 = [0; 0]; v_1050 = [1; 1]}, 18 vars top, relations: {ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_89 - b_93 = [1; inf]; b_90 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_88 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_93 - b_95 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_89 - b_95 = [0; 0]; b_90 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; b_94 - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_92 - b_95 = [-inf; -2]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; b_89 - b_90 = [1; 1]; b_88 - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_89 - b_91 = [0; 0]; b_90 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_93 - b_94 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_89 - b_94 = [1; 1]; b_90 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; b_88 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_92 - b_94 = [-inf; -1]; v_1046 + v_1055 = [-inf; 0]; v_1046 - v_1055 = [0; inf]; v_1053 + v_1055 = [-inf; 0]; v_1053 - v_1055 = [0; inf]; v_1050 + v_1055 = [-inf; 1]; v_1050 - v_1055 = [1; inf]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1046 + v_1053 = [0; 0]; v_1046 - v_1053 = [0; 0]; v_1050 + v_1053 = [1; 1]; v_1050 - v_1053 = [1; 1]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_89 - b_92 = [2; inf]; b_90 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; b_88 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; v_1046 + v_1050 = [1; 1]; v_1046 - v_1050 = [-1; -1]}, }}} [2019-02-28 13:48:39,755 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:48:41,028 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:48:41,028 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:48:41,029 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:48:41,029 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:48:41,029 WARN L224 ngHoareTripleChecker]: Pre: {181#true} [2019-02-28 13:48:41,029 WARN L228 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-28 13:48:41,030 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-28 13:48:41,030 WARN L230 ngHoareTripleChecker]: Post: {182#(forall ((v_idx_1929 Int) (v_idx_1937 Int) (v_idx_1935 Int) (v_idx_1932 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (or (and (<= (* 2 (select |c_#memory_int| v_idx_1937)) 0) (<= (select |c_#memory_int| v_idx_1937) 0)) (< v_idx_1937 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1937)) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (= (select |c_#memory_int| v_idx_1935) 0) (< v_idx_1935 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1935)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1929) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1929) 0) (< v_idx_1929 c_ULTIMATE.start_malloc_ptr)) (or (= 1 (select |c_#valid| v_idx_1932)) (< v_idx_1932 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1932))))} [2019-02-28 13:48:41,030 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:48:41,031 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:48:41,031 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:48:41,032 WARN L270 ngHoareTripleChecker]: Pre: {181#true} [2019-02-28 13:48:41,032 WARN L274 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-28 13:48:41,032 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-28 13:48:41,100 WARN L276 ngHoareTripleChecker]: Post: {182#(and (forall ((v_idx_1935 Int)) (or (= (select |#memory_int| v_idx_1935) 0) (< v_idx_1935 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1935))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1932 Int)) (or (= 1 (select |#valid| v_idx_1932)) (< v_idx_1932 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1932))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1937 Int)) (or (< v_idx_1937 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1937) (<= (select |#memory_int| v_idx_1937) 0))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_12 Int)) (or (< v_prenex_12 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_12) (<= (* 2 (select |#memory_int| v_prenex_12)) 0))) (forall ((v_idx_1929 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1929) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1929) 0) (< v_idx_1929 ULTIMATE.start_malloc_ptr))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-28 13:48:41,100 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:48:41,100 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:48:41,101 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1765 [inf_0], [#valid] -> [-inf_0] v_1763 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1762 [inf_0], [old(#memory_int)] -> [-inf_0] v_1766 [inf_0], [old(#valid)] -> [-inf_0] v_1764 [inf_0], }, Substate: {8 vars top, }}} [2019-02-28 13:48:41,101 WARN L628 ntHoareTripleChecker]: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) (assume !(#memory_int[main_p2] <= 0);) [2019-02-28 13:48:41,102 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1052 [b_92] v_1053 [b_93] v_1054 [b_94] v_1055 [b_95] v_1056 [inf_0], [#valid] -> [-inf_0] v_1049 [b_90] v_1050 [b_91] v_1051 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1045 [b_88] v_1046 [b_89] v_1047 [inf_0], }, Substate: {ints: {v_1046 = [0; 0]; v_1055 = [-inf; 0]; v_1053 = [0; 0]; v_1050 = [1; 1]}, 18 vars top, relations: {ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_89 - b_93 = [1; inf]; b_90 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_88 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_93 - b_95 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_89 - b_95 = [0; 0]; b_90 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; b_94 - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_92 - b_95 = [-inf; -2]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; b_89 - b_90 = [1; 1]; b_88 - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_89 - b_91 = [0; 0]; b_90 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_93 - b_94 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_89 - b_94 = [1; 1]; b_90 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; b_88 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_92 - b_94 = [-inf; -1]; v_1046 + v_1055 = [-inf; 0]; v_1046 - v_1055 = [0; inf]; v_1053 + v_1055 = [-inf; 0]; v_1053 - v_1055 = [0; inf]; v_1050 + v_1055 = [-inf; 1]; v_1050 - v_1055 = [1; inf]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1046 + v_1053 = [0; 0]; v_1046 - v_1053 = [0; 0]; v_1050 + v_1053 = [1; 1]; v_1050 - v_1053 = [1; 1]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_89 - b_92 = [2; inf]; b_90 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; b_88 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; v_1046 + v_1050 = [1; 1]; v_1046 - v_1050 = [-1; -1]}, }}} [2019-02-28 13:48:41,102 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:48:41,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:48:41,105 INFO L93 Difference]: Finished difference Result 11 states and 15 transitions. [2019-02-28 13:48:41,105 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-28 13:48:41,105 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-28 13:48:41,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-28 13:48:41,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-28 13:48:41,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-28 13:48:41,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-28 13:48:41,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-28 13:48:41,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2019-02-28 13:48:41,139 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:48:41,140 INFO L225 Difference]: With dead ends: 11 [2019-02-28 13:48:41,140 INFO L226 Difference]: Without dead ends: 8 [2019-02-28 13:48:41,141 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-28 13:48:41,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states. [2019-02-28 13:48:41,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2019-02-28 13:48:41,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-28 13:48:41,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 8 states. Second operand 8 states. [2019-02-28 13:48:41,200 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 8 states. [2019-02-28 13:48:41,200 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 8 states. [2019-02-28 13:48:41,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:48:41,202 INFO L93 Difference]: Finished difference Result 8 states and 12 transitions. [2019-02-28 13:48:41,202 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 12 transitions. [2019-02-28 13:48:41,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:48:41,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:48:41,203 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 8 states. [2019-02-28 13:48:41,203 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 8 states. [2019-02-28 13:48:41,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:48:41,204 INFO L93 Difference]: Finished difference Result 8 states and 12 transitions. [2019-02-28 13:48:41,204 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 12 transitions. [2019-02-28 13:48:41,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:48:41,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:48:41,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-28 13:48:41,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-28 13:48:41,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-28 13:48:41,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 12 transitions. [2019-02-28 13:48:41,206 INFO L78 Accepts]: Start accepts. Automaton has 8 states and 12 transitions. Word has length 3 [2019-02-28 13:48:41,206 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-28 13:48:41,206 INFO L480 AbstractCegarLoop]: Abstraction has 8 states and 12 transitions. [2019-02-28 13:48:41,206 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-28 13:48:41,206 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 12 transitions. [2019-02-28 13:48:41,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-28 13:48:41,207 INFO L394 BasicCegarLoop]: Found error trace [2019-02-28 13:48:41,207 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-28 13:48:41,207 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-28 13:48:41,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:48:41,208 INFO L82 PathProgramCache]: Analyzing trace with hash 929546, now seen corresponding path program 1 times [2019-02-28 13:48:41,208 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-28 13:48:41,208 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:48:41,209 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-28 13:48:41,209 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-28 13:48:41,209 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-28 13:48:41,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-28 13:48:41,340 INFO L273 TraceCheckUtils]: 0: Hoare triple {214#true} havoc main_p1, main_p2;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;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {216#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-28 13:48:41,350 INFO L273 TraceCheckUtils]: 1: Hoare triple {216#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {217#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-28 13:48:41,351 INFO L273 TraceCheckUtils]: 2: Hoare triple {217#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {218#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-28 13:48:41,351 INFO L273 TraceCheckUtils]: 3: Hoare triple {218#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {215#false} is VALID [2019-02-28 13:48:41,352 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-28 13:48:41,352 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-28 13:48:41,352 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-28 13:48:41,352 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-28 13:48:41,353 INFO L207 CegarAbsIntRunner]: [0], [6], [8], [11] [2019-02-28 13:48:41,356 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-28 13:48:41,356 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-28 13:50:37,362 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-28 13:50:37,363 INFO L272 AbstractInterpreter]: Visited 4 different actions 28 times. Merged at 2 different actions 8 times. Widened at 2 different actions 4 times. Found 10 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-28 13:50:37,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-28 13:50:37,363 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-28 13:50:44,710 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-28 13:50:45,404 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_3176 Int) (v_idx_3168 Int) (v_idx_3174 Int) (v_idx_3171 Int)) (let ((.cse0 (+ c_ULTIMATE.start_main_p1 1)) (.cse2 (+ c_ULTIMATE.start_main_p2 1))) (and (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_malloc_ptr) (let ((.cse8 (select |c_#memory_int| v_idx_3174))) (let ((.cse3 (<= .cse0 v_idx_3174)) (.cse4 (< v_idx_3174 c_ULTIMATE.start_main_p1)) (.cse5 (<= 0 (* 2 .cse8))) (.cse6 (<= 0 .cse8))) (let ((.cse1 (or .cse3 .cse4 (and .cse5 .cse6)))) (or (and (< v_idx_3176 c_ULTIMATE.start_main_p2) .cse1) (and (<= .cse2 v_idx_3176) .cse1) (let ((.cse7 (select |c_#memory_int| v_idx_3176))) (and (or .cse3 .cse4 (and .cse5 .cse6 (<= .cse7 .cse8))) (<= (* 2 .cse7) 0) (<= .cse7 0))))))) (or (< v_idx_3171 c_ULTIMATE.start_main_p2) (<= .cse2 v_idx_3171) (= 1 (select |c_#valid| v_idx_3171))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= .cse0 c_ULTIMATE.start_main_p2) (or (< v_idx_3168 c_ULTIMATE.start_main_p2) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3168) 0) (<= .cse2 v_idx_3168))))) is different from false [2019-02-28 13:50:45,563 INFO L420 sIntCurrentIteration]: We unified 3 AI predicates to 3 [2019-02-28 13:50:49,463 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-28 13:50:49,464 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-28 13:50:49,464 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [3] total 5 [2019-02-28 13:50:49,464 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-28 13:50:49,465 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-28 13:50:49,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-28 13:50:49,465 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-28 13:50:49,482 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:50:49,483 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-28 13:50:49,483 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-28 13:50:49,483 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=4, Unknown=1, NotChecked=2, Total=12 [2019-02-28 13:50:49,483 INFO L87 Difference]: Start difference. First operand 8 states and 12 transitions. Second operand 4 states. [2019-02-28 13:50:51,304 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:50:51,305 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:50:51,305 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:50:51,305 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:50:51,305 WARN L224 ngHoareTripleChecker]: Pre: {249#(forall ((v_idx_3389 Int) (v_idx_3385 Int) (v_idx_3382 Int) (v_idx_3391 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (or (< v_idx_3382 c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3382) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3382) 0)) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= 1 (select |c_#valid| v_idx_3385)) (< v_idx_3385 c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3385)) (or (and (or (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3389) (< v_idx_3389 c_ULTIMATE.start_main_p1) (and (<= 0 (select |c_#memory_int| v_idx_3389)) (<= 0 (* 2 (select |c_#memory_int| v_idx_3389))))) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3391)) (and (or (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3389) (< v_idx_3389 c_ULTIMATE.start_main_p1) (and (<= 0 (select |c_#memory_int| v_idx_3389)) (<= 0 (* 2 (select |c_#memory_int| v_idx_3389))))) (< v_idx_3391 c_ULTIMATE.start_main_p2)) (and (<= (select |c_#memory_int| v_idx_3391) 0) (or (and (<= (select |c_#memory_int| v_idx_3391) (select |c_#memory_int| v_idx_3389)) (<= 0 (select |c_#memory_int| v_idx_3389)) (<= 0 (* 2 (select |c_#memory_int| v_idx_3389)))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3389) (< v_idx_3389 c_ULTIMATE.start_main_p1)) (<= (* 2 (select |c_#memory_int| v_idx_3391)) 0))) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-28 13:50:51,305 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:50:51,305 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:50:51,306 WARN L230 ngHoareTripleChecker]: Post: {250#false} [2019-02-28 13:50:51,306 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:50:51,307 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:50:51,307 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:50:51,514 WARN L270 ngHoareTripleChecker]: Pre: {249#(and (or (forall ((v_prenex_35 Int)) (<= (select |#memory_int| v_prenex_35) 0)) (forall ((v_prenex_37 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_37))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_37) (< v_prenex_37 ULTIMATE.start_main_p1)))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_prenex_22 Int)) (or (< v_prenex_22 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_22))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_22))) (or (forall ((v_prenex_46 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_46) (<= 0 (select |#memory_int| v_prenex_46)) (< v_prenex_46 ULTIMATE.start_main_p1))) (forall ((v_prenex_45 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_45) (<= (* 2 (select |#memory_int| v_prenex_45)) 0)))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (or (forall ((v_prenex_20 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_20) (<= 0 (* 2 (select |#memory_int| v_prenex_20))) (< v_prenex_20 ULTIMATE.start_main_p1))) (forall ((v_prenex_21 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_21)) 0) (< v_prenex_21 ULTIMATE.start_main_p2)))) (forall ((v_idx_3389 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_idx_3389) (<= 0 (select |#memory_int| v_idx_3389)) (< v_idx_3389 ULTIMATE.start_main_p1))) (forall ((v_prenex_14 Int) (v_idx_3391 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_14))) (<= (select |#memory_int| v_idx_3391) (select |#memory_int| v_prenex_14)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_14) (< v_prenex_14 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3391))) (or (forall ((v_prenex_18 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_18) (<= (select |#memory_int| v_prenex_18) 0))) (forall ((v_prenex_17 Int)) (or (<= 0 (select |#memory_int| v_prenex_17)) (< v_prenex_17 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_17)))) (or (forall ((v_prenex_19 Int)) (or (<= 0 (select |#memory_int| v_prenex_19)) (< v_prenex_19 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_19))) (forall ((v_prenex_21 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_21)) 0) (< v_prenex_21 ULTIMATE.start_main_p2)))) (or (forall ((v_prenex_35 Int)) (<= (select |#memory_int| v_prenex_35) 0)) (forall ((v_prenex_36 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_36) (<= 0 (select |#memory_int| v_prenex_36)) (< v_prenex_36 ULTIMATE.start_main_p1)))) (forall ((v_prenex_30 Int) (v_prenex_31 Int)) (or (<= (select |#memory_int| v_prenex_30) (select |#memory_int| v_prenex_31)) (< v_prenex_31 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_31) (< v_prenex_30 ULTIMATE.start_main_p2) (<= 0 (select |#memory_int| v_prenex_31)))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_prenex_27 Int) (v_prenex_26 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_26) (<= 0 (* 2 (select |#memory_int| v_prenex_26))) (<= (select |#memory_int| v_prenex_27) (select |#memory_int| v_prenex_26)) (< v_prenex_26 ULTIMATE.start_main_p1))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_prenex_29 Int) (v_prenex_28 Int)) (or (< v_prenex_28 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_28)) (<= (select |#memory_int| v_prenex_29) (select |#memory_int| v_prenex_28)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_28) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_29))) (forall ((v_prenex_38 Int) (v_prenex_39 Int)) (or (<= 0 (select |#memory_int| v_prenex_39)) (<= (select |#memory_int| v_prenex_38) (select |#memory_int| v_prenex_39)) (< v_prenex_39 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_39))) (forall ((v_prenex_15 Int)) (or (<= 0 (select |#memory_int| v_prenex_15)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_15) (< v_prenex_15 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_15))))) (or (forall ((v_prenex_18 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_18) (<= (select |#memory_int| v_prenex_18) 0))) (forall ((v_prenex_13 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_13) (<= 0 (* 2 (select |#memory_int| v_prenex_13))) (< v_prenex_13 ULTIMATE.start_main_p1)))) (or (forall ((v_prenex_24 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_24) (< v_prenex_24 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_24))))) (forall ((v_prenex_25 Int)) (or (< v_prenex_25 ULTIMATE.start_main_p2) (<= (select |#memory_int| v_prenex_25) 0)))) (forall ((v_prenex_41 Int) (v_prenex_42 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_41) (< v_prenex_41 ULTIMATE.start_main_p2) (<= (select |#memory_int| v_prenex_41) (select |#memory_int| v_prenex_42)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_42) (< v_prenex_42 ULTIMATE.start_main_p1))) (forall ((v_prenex_16 Int)) (or (< v_prenex_16 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_16) (<= (* 2 (select |#memory_int| v_prenex_16)) 0))) (or (forall ((v_prenex_47 Int)) (or (< v_prenex_47 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_47) (<= 0 (* 2 (select |#memory_int| v_prenex_47))))) (forall ((v_prenex_45 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_45) (<= (* 2 (select |#memory_int| v_prenex_45)) 0)))) (forall ((v_prenex_44 Int) (v_prenex_43 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_44))) (<= (select |#memory_int| v_prenex_43) (select |#memory_int| v_prenex_44)) (< v_prenex_43 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_44) (< v_prenex_44 ULTIMATE.start_main_p1))) (or (forall ((v_prenex_33 Int)) (or (<= 0 (select |#memory_int| v_prenex_33)) (< v_prenex_33 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_33))) (forall ((v_prenex_32 Int)) (<= (* 2 (select |#memory_int| v_prenex_32)) 0))) (or (forall ((v_prenex_34 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_34) (< v_prenex_34 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_34))))) (forall ((v_prenex_32 Int)) (<= (* 2 (select |#memory_int| v_prenex_32)) 0))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (forall ((v_idx_3385 Int)) (or (= 1 (select |#valid| v_idx_3385)) (< v_idx_3385 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3385))) (forall ((v_idx_3382 Int)) (or (< v_idx_3382 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3382) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_3382) 0))) (or (forall ((v_prenex_25 Int)) (or (< v_prenex_25 ULTIMATE.start_main_p2) (<= (select |#memory_int| v_prenex_25) 0))) (forall ((v_prenex_23 Int)) (or (<= 0 (select |#memory_int| v_prenex_23)) (< v_prenex_23 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_23)))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_prenex_40 Int)) (or (<= (select |#memory_int| v_prenex_40) 0) (< v_prenex_40 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_40))))} [2019-02-28 13:50:51,515 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-28 13:50:51,515 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-28 13:50:51,516 WARN L276 ngHoareTripleChecker]: Post: {250#false} [2019-02-28 13:50:51,517 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:50:51,517 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:50:51,518 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_3202 [b_222] v_3203 [b_223] v_3204 [b_224] v_3205 [b_225] v_3206 [inf_0], [#valid] -> [-inf_0] v_3199 [b_220] v_3200 [b_221] v_3201 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_3195 [b_218] v_3196 [b_219] v_3197 [inf_0], [old(#memory_int)] -> [-inf_0] v_3767 [inf_0], [old(#valid)] -> [-inf_0] v_3766 [inf_0], }, Substate: {ints: {v_3196 = [0; 0]; v_3203 = [0; inf]; v_3200 = [1; 1]; v_3205 = [-inf; 0]}, 20 vars top, relations: {v_3196 + v_3203 = [0; inf]; v_3196 - v_3203 = [-inf; 0]; v_3200 + v_3203 = [1; inf]; v_3200 - v_3203 = [-inf; 1]; b_218 - b_219 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_219 = [-1; -1]; ULTIMATE.start_main_p1 - b_219 = [-inf; -2]; ULTIMATE.start_main_p2 - b_219 = [-1; -1]; v_3196 + v_3200 = [1; 1]; v_3196 - v_3200 = [-1; -1]; v_3196 + v_3205 = [-inf; 0]; v_3196 - v_3205 = [0; inf]; v_3203 - v_3205 = [0; inf]; v_3200 + v_3205 = [-inf; 1]; v_3200 - v_3205 = [1; inf]; ULTIMATE.start_malloc_ptr - b_218 = [0; 0]; ULTIMATE.start_main_p1 - b_218 = [-inf; -1]; ULTIMATE.start_main_p2 - b_218 = [0; 0]; b_219 - b_222 = [2; inf]; b_218 - b_222 = [1; inf]; ULTIMATE.start_malloc_ptr - b_222 = [1; inf]; ULTIMATE.start_main_p1 - b_222 = [0; 0]; ULTIMATE.start_main_p2 - b_222 = [1; inf]; b_221 - b_222 = [2; inf]; b_220 - b_222 = [1; inf]; b_219 - b_225 = [0; 0]; b_218 - b_225 = [-1; -1]; b_222 - b_225 = [-inf; -2]; ULTIMATE.start_malloc_ptr - b_225 = [-1; -1]; b_223 - b_225 = [-inf; -1]; ULTIMATE.start_main_p1 - b_225 = [-inf; -2]; ULTIMATE.start_main_p2 - b_225 = [-1; -1]; b_221 - b_225 = [0; 0]; b_220 - b_225 = [-1; -1]; b_224 - b_225 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; b_219 - b_223 = [1; inf]; b_218 - b_223 = [0; inf]; b_222 - b_223 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_223 = [0; inf]; ULTIMATE.start_main_p1 - b_223 = [-1; -1]; ULTIMATE.start_main_p2 - b_223 = [0; inf]; b_221 - b_223 = [1; inf]; b_220 - b_223 = [0; inf]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_219 - b_221 = [0; 0]; b_218 - b_221 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_221 = [-1; -1]; ULTIMATE.start_main_p1 - b_221 = [-inf; -2]; ULTIMATE.start_main_p2 - b_221 = [-1; -1]; b_220 - b_221 = [-1; -1]; b_219 - b_220 = [1; 1]; b_218 - b_220 = [0; 0]; ULTIMATE.start_malloc_ptr - b_220 = [0; 0]; ULTIMATE.start_main_p1 - b_220 = [-inf; -1]; ULTIMATE.start_main_p2 - b_220 = [0; 0]; b_219 - b_224 = [1; 1]; b_218 - b_224 = [0; 0]; b_222 - b_224 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_224 = [0; 0]; b_223 - b_224 = [-inf; 0]; ULTIMATE.start_main_p1 - b_224 = [-inf; -1]; ULTIMATE.start_main_p2 - b_224 = [0; 0]; b_221 - b_224 = [1; 1]; b_220 - b_224 = [0; 0]}, }}} [2019-02-28 13:50:51,518 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-28 13:50:51,518 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:50:51,518 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:50:53,016 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:50:53,016 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:50:53,016 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:50:53,016 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:50:53,017 WARN L224 ngHoareTripleChecker]: Pre: {255#(forall ((v_idx_3444 Int) (v_idx_3441 Int) (v_idx_3450 Int) (v_idx_3448 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (= 1 (select |c_#valid| v_idx_3444)) (< v_idx_3444 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3444)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (and (or (and (<= (select |c_#memory_int| v_idx_3450) (select |c_#memory_int| v_idx_3448)) (<= (* 2 (select |c_#memory_int| v_idx_3450)) 0) (<= (select |c_#memory_int| v_idx_3450) 0)) (< v_idx_3450 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3450)) (<= 0 (* 2 (select |c_#memory_int| v_idx_3448))) (<= 0 (select |c_#memory_int| v_idx_3448))) (and (< v_idx_3448 c_ULTIMATE.start_main_p1) (or (and (<= (* 2 (select |c_#memory_int| v_idx_3450)) 0) (<= (select |c_#memory_int| v_idx_3450) 0)) (< v_idx_3450 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3450))) (and (or (and (<= (* 2 (select |c_#memory_int| v_idx_3450)) 0) (<= (select |c_#memory_int| v_idx_3450) 0)) (< v_idx_3450 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3450)) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3448))) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3441) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3441) 0) (< v_idx_3441 c_ULTIMATE.start_malloc_ptr)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2)))} [2019-02-28 13:50:53,017 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:50:53,017 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:50:53,017 WARN L230 ngHoareTripleChecker]: Post: {256#false} [2019-02-28 13:50:53,017 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:50:53,018 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:50:53,018 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:50:53,272 WARN L270 ngHoareTripleChecker]: Pre: {255#(and (forall ((v_prenex_67 Int) (v_prenex_68 Int)) (or (< v_prenex_68 ULTIMATE.start_main_p1) (< v_prenex_67 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_67) (select |#memory_int| v_prenex_68)) (<= (select |#memory_int| v_prenex_67) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_67))) (or (forall ((v_prenex_57 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_57)) 0) (< v_prenex_57 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_57))) (forall ((v_prenex_58 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_58) (<= 0 (* 2 (select |#memory_int| v_prenex_58)))))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (or (forall ((v_prenex_48 Int)) (or (< v_prenex_48 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_48) (<= (* 2 (select |#memory_int| v_prenex_48)) 0) (<= (select |#memory_int| v_prenex_48) 0))) (forall ((v_prenex_54 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_54))))) (or (forall ((v_prenex_64 Int)) (<= 0 (select |#memory_int| v_prenex_64))) (forall ((v_prenex_63 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_63)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_63) (< v_prenex_63 ULTIMATE.start_malloc_ptr)))) (or (forall ((v_prenex_50 Int)) (or (<= (select |#memory_int| v_prenex_50) 0) (< v_prenex_50 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_50))) (forall ((v_prenex_89 Int)) (<= 0 (select |#memory_int| v_prenex_89)))) (forall ((v_idx_3450 Int) (v_idx_3448 Int)) (or (<= (select |#memory_int| v_idx_3450) (select |#memory_int| v_idx_3448)) (<= (* 2 (select |#memory_int| v_idx_3450)) 0) (<= (select |#memory_int| v_idx_3450) 0) (< v_idx_3450 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3450))) (or (forall ((v_prenex_74 Int)) (or (< v_prenex_74 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_74)))) (forall ((v_prenex_72 Int)) (or (< v_prenex_72 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_72) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_72)))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (or (forall ((v_prenex_53 Int)) (or (< v_prenex_53 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_53) (<= (* 2 (select |#memory_int| v_prenex_53)) 0))) (forall ((v_prenex_54 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_54))))) (forall ((v_prenex_77 Int)) (or (< v_prenex_77 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_77) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_77))) (forall ((v_idx_3444 Int)) (or (= 1 (select |#valid| v_idx_3444)) (< v_idx_3444 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3444))) (forall ((v_prenex_85 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_85) (<= 0 (select |#memory_int| v_prenex_85)) (< v_prenex_85 ULTIMATE.start_main_p1))) (or (forall ((v_prenex_90 Int)) (or (< v_prenex_90 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_90) (<= (select |#memory_int| v_prenex_90) 0))) (forall ((v_prenex_92 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_92))))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (or (forall ((v_prenex_70 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_70))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_70))) (forall ((v_prenex_69 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_69) (< v_prenex_69 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_69) 0)))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (or (forall ((v_prenex_74 Int)) (or (< v_prenex_74 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_74)))) (forall ((v_prenex_73 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_73) (<= (* 2 (select |#memory_int| v_prenex_73)) 0) (< v_prenex_73 ULTIMATE.start_malloc_ptr)))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (or (forall ((v_prenex_64 Int)) (<= 0 (select |#memory_int| v_prenex_64))) (forall ((v_prenex_62 Int)) (or (< v_prenex_62 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_62)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_62) (<= (select |#memory_int| v_prenex_62) 0)))) (forall ((v_prenex_87 Int) (v_prenex_86 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_86) (<= (* 2 (select |#memory_int| v_prenex_86)) 0) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_87) (<= (select |#memory_int| v_prenex_86) (select |#memory_int| v_prenex_87)) (< v_prenex_86 ULTIMATE.start_malloc_ptr))) (or (forall ((v_prenex_65 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_65) (< v_prenex_65 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_65)) 0))) (forall ((v_prenex_66 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_66) (<= 0 (select |#memory_int| v_prenex_66))))) (forall ((v_prenex_59 Int)) (or (< v_prenex_59 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_59)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_59))) (or (forall ((v_prenex_56 Int)) (or (< v_prenex_56 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_56))))) (forall ((v_prenex_49 Int)) (or (< v_prenex_49 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_49) (<= (select |#memory_int| v_prenex_49) 0)))) (forall ((v_prenex_76 Int) (v_prenex_75 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_75) (<= (* 2 (select |#memory_int| v_prenex_75)) 0) (<= (select |#memory_int| v_prenex_75) (select |#memory_int| v_prenex_76)) (< v_prenex_76 ULTIMATE.start_main_p1) (< v_prenex_75 ULTIMATE.start_malloc_ptr))) (forall ((v_idx_3441 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3441) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_3441) 0) (< v_idx_3441 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_61 Int) (v_prenex_60 Int)) (or (<= (select |#memory_int| v_prenex_60) (select |#memory_int| v_prenex_61)) (<= (* 2 (select |#memory_int| v_prenex_60)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_60) (< v_prenex_60 ULTIMATE.start_malloc_ptr))) (or (forall ((v_prenex_51 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_51) (< v_prenex_51 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_51) 0))) (forall ((v_prenex_52 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_52) (<= 0 (select |#memory_int| v_prenex_52))))) (forall ((v_prenex_83 Int) (v_prenex_82 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_83) (< v_prenex_82 ULTIMATE.start_malloc_ptr) (< v_prenex_83 ULTIMATE.start_main_p1) (<= (select |#memory_int| v_prenex_82) (select |#memory_int| v_prenex_83)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_82))) (or (forall ((v_prenex_56 Int)) (or (< v_prenex_56 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_56))))) (forall ((v_prenex_55 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_55)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_55) (< v_prenex_55 ULTIMATE.start_malloc_ptr)))) (forall ((v_prenex_81 Int) (v_prenex_80 Int)) (or (<= (select |#memory_int| v_prenex_80) 0) (< v_prenex_80 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_80) (select |#memory_int| v_prenex_81)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_80))) (forall ((v_prenex_84 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_84)) 0) (<= (select |#memory_int| v_prenex_84) 0) (< v_prenex_84 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_84))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (forall ((v_prenex_71 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_71) (<= 0 (* 2 (select |#memory_int| v_prenex_71))) (< v_prenex_71 ULTIMATE.start_main_p1))) (or (forall ((v_prenex_92 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_92)))) (forall ((v_prenex_91 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_91) (<= (* 2 (select |#memory_int| v_prenex_91)) 0) (<= (select |#memory_int| v_prenex_91) 0) (< v_prenex_91 ULTIMATE.start_malloc_ptr)))) (forall ((v_prenex_78 Int) (v_prenex_79 Int)) (or (< v_prenex_78 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_78) (select |#memory_int| v_prenex_79)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_78) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_79) (<= (select |#memory_int| v_prenex_78) 0))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (or (forall ((v_prenex_88 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_88)) 0) (< v_prenex_88 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_88) (<= (select |#memory_int| v_prenex_88) 0))) (forall ((v_prenex_89 Int)) (<= 0 (select |#memory_int| v_prenex_89)))))} [2019-02-28 13:50:53,272 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-28 13:50:53,273 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-28 13:50:53,274 WARN L276 ngHoareTripleChecker]: Post: {256#false} [2019-02-28 13:50:53,274 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:50:53,274 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:50:53,275 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_3202 [b_222] v_3203 [b_223] v_3204 [b_224] v_3205 [b_225] v_3206 [inf_0], [#valid] -> [-inf_0] v_3199 [b_220] v_3200 [b_221] v_3201 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_3195 [b_218] v_3196 [b_219] v_3197 [inf_0], [old(#memory_int)] -> [-inf_0] v_3788 [inf_0], [old(#valid)] -> [-inf_0] v_3787 [inf_0], }, Substate: {ints: {v_3196 = [0; 0]; v_3203 = [0; inf]; v_3200 = [1; 1]; v_3205 = [-inf; 0]}, 20 vars top, relations: {v_3196 + v_3203 = [0; inf]; v_3196 - v_3203 = [-inf; 0]; v_3200 + v_3203 = [1; inf]; v_3200 - v_3203 = [-inf; 1]; b_218 - b_219 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_219 = [-1; -1]; ULTIMATE.start_main_p1 - b_219 = [-inf; -2]; ULTIMATE.start_main_p2 - b_219 = [-1; -1]; v_3196 + v_3200 = [1; 1]; v_3196 - v_3200 = [-1; -1]; v_3196 + v_3205 = [-inf; 0]; v_3196 - v_3205 = [0; inf]; v_3203 - v_3205 = [0; inf]; v_3200 + v_3205 = [-inf; 1]; v_3200 - v_3205 = [1; inf]; ULTIMATE.start_malloc_ptr - b_218 = [0; 0]; ULTIMATE.start_main_p1 - b_218 = [-inf; -1]; ULTIMATE.start_main_p2 - b_218 = [0; 0]; b_219 - b_222 = [2; inf]; b_218 - b_222 = [1; inf]; ULTIMATE.start_malloc_ptr - b_222 = [1; inf]; ULTIMATE.start_main_p1 - b_222 = [0; 0]; ULTIMATE.start_main_p2 - b_222 = [1; inf]; b_221 - b_222 = [2; inf]; b_220 - b_222 = [1; inf]; b_219 - b_225 = [0; 0]; b_218 - b_225 = [-1; -1]; b_222 - b_225 = [-inf; -2]; ULTIMATE.start_malloc_ptr - b_225 = [-1; -1]; b_223 - b_225 = [-inf; -1]; ULTIMATE.start_main_p1 - b_225 = [-inf; -2]; ULTIMATE.start_main_p2 - b_225 = [-1; -1]; b_221 - b_225 = [0; 0]; b_220 - b_225 = [-1; -1]; b_224 - b_225 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; b_219 - b_223 = [1; inf]; b_218 - b_223 = [0; inf]; b_222 - b_223 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_223 = [0; inf]; ULTIMATE.start_main_p1 - b_223 = [-1; -1]; ULTIMATE.start_main_p2 - b_223 = [0; inf]; b_221 - b_223 = [1; inf]; b_220 - b_223 = [0; inf]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_219 - b_221 = [0; 0]; b_218 - b_221 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_221 = [-1; -1]; ULTIMATE.start_main_p1 - b_221 = [-inf; -2]; ULTIMATE.start_main_p2 - b_221 = [-1; -1]; b_220 - b_221 = [-1; -1]; b_219 - b_220 = [1; 1]; b_218 - b_220 = [0; 0]; ULTIMATE.start_malloc_ptr - b_220 = [0; 0]; ULTIMATE.start_main_p1 - b_220 = [-inf; -1]; ULTIMATE.start_main_p2 - b_220 = [0; 0]; b_219 - b_224 = [1; 1]; b_218 - b_224 = [0; 0]; b_222 - b_224 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_224 = [0; 0]; b_223 - b_224 = [-inf; 0]; ULTIMATE.start_main_p1 - b_224 = [-inf; -1]; ULTIMATE.start_main_p2 - b_224 = [0; 0]; b_221 - b_224 = [1; 1]; b_220 - b_224 = [0; 0]}, }}} [2019-02-28 13:50:53,275 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-28 13:50:53,275 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:50:53,275 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:50:54,838 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-28 13:50:54,838 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-28 13:50:54,839 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-28 13:50:54,839 WARN L223 ngHoareTripleChecker]: -- [2019-02-28 13:50:54,839 WARN L224 ngHoareTripleChecker]: Pre: {264#(forall ((v_idx_3500 Int) (v_idx_3507 Int) (v_idx_3509 Int) (v_idx_3503 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3503) (< v_idx_3503 c_ULTIMATE.start_malloc_ptr) (= 1 (select |c_#valid| v_idx_3503))) (or (and (<= (* 2 (select |c_#memory_int| v_idx_3509)) 0) (<= (select |c_#memory_int| v_idx_3509) 0) (or (and (<= (select |c_#memory_int| v_idx_3509) (select |c_#memory_int| v_idx_3507)) (<= 0 (* 2 (select |c_#memory_int| v_idx_3507))) (<= 0 (select |c_#memory_int| v_idx_3507))) (< v_idx_3507 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3507))) (and (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_3507))) (<= 0 (select |c_#memory_int| v_idx_3507))) (< v_idx_3507 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3507)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3509)) (and (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_3507))) (<= 0 (select |c_#memory_int| v_idx_3507))) (< v_idx_3507 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3507)) (< v_idx_3509 c_ULTIMATE.start_malloc_ptr))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3500) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3500) 0) (< v_idx_3500 c_ULTIMATE.start_malloc_ptr))))} [2019-02-28 13:50:54,839 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:50:54,840 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:50:54,840 WARN L230 ngHoareTripleChecker]: Post: {265#false} [2019-02-28 13:50:54,840 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-28 13:50:54,840 WARN L268 ngHoareTripleChecker]: -- [2019-02-28 13:50:54,841 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-28 13:50:55,042 WARN L270 ngHoareTripleChecker]: Pre: {264#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_prenex_113 Int)) (or (<= 0 (select |#memory_int| v_prenex_113)) (< v_prenex_113 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_113))) (or (forall ((v_idx_3507 Int)) (or (<= 0 (select |#memory_int| v_idx_3507)) (< v_idx_3507 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_3507))) (forall ((v_idx_3509 Int)) (or (<= (select |#memory_int| v_idx_3509) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3509)))) (or (forall ((v_prenex_93 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_93))) (< v_prenex_93 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_93))) (forall ((v_idx_3509 Int)) (or (<= (select |#memory_int| v_idx_3509) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3509)))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_prenex_121 Int) (v_prenex_122 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_121) (<= (select |#memory_int| v_prenex_122) (select |#memory_int| v_prenex_121)) (<= 0 (* 2 (select |#memory_int| v_prenex_121))) (< v_prenex_121 ULTIMATE.start_main_p1))) (forall ((v_idx_3503 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3503) (< v_idx_3503 ULTIMATE.start_malloc_ptr) (= 1 (select |#valid| v_idx_3503)))) (forall ((v_prenex_120 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_120))) (< v_prenex_120 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_120)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_120))) (forall ((v_prenex_105 Int) (v_prenex_106 Int)) (or (< v_prenex_106 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_106) (select |#memory_int| v_prenex_105)) (< v_prenex_105 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_105) (<= 0 (* 2 (select |#memory_int| v_prenex_105))))) (or (forall ((v_prenex_101 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_101) (<= (* 2 (select |#memory_int| v_prenex_101)) 0))) (forall ((v_prenex_100 Int)) (or (< v_prenex_100 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_100)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_100)))) (or (forall ((v_prenex_125 Int)) (<= (* 2 (select |#memory_int| v_prenex_125)) 0)) (forall ((v_prenex_123 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_123) (< v_prenex_123 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_123)))))) (forall ((v_prenex_107 Int)) (or (<= (select |#memory_int| v_prenex_107) 0) (< v_prenex_107 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_107))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_127 Int) (v_prenex_126 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_126))) (< v_prenex_126 ULTIMATE.start_main_p1) (<= (select |#memory_int| v_prenex_127) (select |#memory_int| v_prenex_126)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_127) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_126))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (or (forall ((v_prenex_119 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_119)) 0) (< v_prenex_119 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_118 Int)) (or (< v_prenex_118 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_118)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_118)))) (or (forall ((v_prenex_116 Int)) (or (< v_prenex_116 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_116) 0))) (forall ((v_prenex_114 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_114) (< v_prenex_114 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_114)))))) (or (forall ((v_prenex_125 Int)) (<= (* 2 (select |#memory_int| v_prenex_125)) 0)) (forall ((v_prenex_124 Int)) (or (< v_prenex_124 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_124)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_124)))) (or (forall ((v_prenex_111 Int)) (<= (select |#memory_int| v_prenex_111) 0)) (forall ((v_prenex_109 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_109))) (< v_prenex_109 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_109)))) (or (< ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_112 Int)) (or (< v_prenex_112 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_112)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_112)))) (or (forall ((v_prenex_117 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_117) (<= 0 (* 2 (select |#memory_int| v_prenex_117))) (< v_prenex_117 ULTIMATE.start_main_p1))) (forall ((v_prenex_119 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_119)) 0) (< v_prenex_119 ULTIMATE.start_malloc_ptr)))) (or (forall ((v_prenex_101 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_101) (<= (* 2 (select |#memory_int| v_prenex_101)) 0))) (forall ((v_prenex_99 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_99) (<= 0 (* 2 (select |#memory_int| v_prenex_99))) (< v_prenex_99 ULTIMATE.start_main_p1)))) (or (forall ((v_prenex_116 Int)) (or (< v_prenex_116 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_116) 0))) (forall ((v_prenex_115 Int)) (or (<= 0 (select |#memory_int| v_prenex_115)) (< v_prenex_115 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_115)))) (forall ((v_prenex_128 Int) (v_prenex_129 Int)) (or (<= 0 (select |#memory_int| v_prenex_128)) (< v_prenex_128 ULTIMATE.start_main_p1) (<= (select |#memory_int| v_prenex_129) (select |#memory_int| v_prenex_128)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_128) (< v_prenex_129 ULTIMATE.start_malloc_ptr))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (or (< ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_98 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_98) (< v_prenex_98 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_98)))))) (forall ((v_idx_3500 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3500) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_3500) 0) (< v_idx_3500 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_96 Int) (v_prenex_97 Int)) (or (<= 0 (select |#memory_int| v_prenex_96)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_97) (< v_prenex_96 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_96) (<= (select |#memory_int| v_prenex_97) (select |#memory_int| v_prenex_96)))) (forall ((v_prenex_102 Int)) (or (< v_prenex_102 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_102) (<= 0 (* 2 (select |#memory_int| v_prenex_102))))) (forall ((v_prenex_103 Int) (v_prenex_104 Int)) (or (<= (select |#memory_int| v_prenex_104) (select |#memory_int| v_prenex_103)) (< v_prenex_103 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_103) (< v_prenex_104 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_104))) (or (forall ((v_prenex_111 Int)) (<= (select |#memory_int| v_prenex_111) 0)) (forall ((v_prenex_110 Int)) (or (< v_prenex_110 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_110) (<= 0 (select |#memory_int| v_prenex_110))))) (forall ((v_prenex_95 Int) (v_prenex_94 Int)) (or (<= (select |#memory_int| v_prenex_95) (select |#memory_int| v_prenex_94)) (<= 0 (select |#memory_int| v_prenex_94)) (< v_prenex_94 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_94))) (forall ((v_prenex_108 Int)) (or (< v_prenex_108 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_108) (<= (* 2 (select |#memory_int| v_prenex_108)) 0))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-28 13:50:55,042 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-28 13:50:55,042 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-28 13:50:55,044 WARN L276 ngHoareTripleChecker]: Post: {265#false} [2019-02-28 13:50:55,044 WARN L620 ntHoareTripleChecker]: -- [2019-02-28 13:50:55,044 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-28 13:50:55,045 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_3202 [b_222] v_3203 [b_223] v_3204 [b_224] v_3205 [b_225] v_3206 [inf_0], [#valid] -> [-inf_0] v_3199 [b_220] v_3200 [b_221] v_3201 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_3195 [b_218] v_3196 [b_219] v_3197 [inf_0], [old(#memory_int)] -> [-inf_0] v_3809 [inf_0], [old(#valid)] -> [-inf_0] v_3808 [inf_0], }, Substate: {ints: {v_3196 = [0; 0]; v_3203 = [0; inf]; v_3200 = [1; 1]; v_3205 = [-inf; 0]}, 20 vars top, relations: {v_3196 + v_3203 = [0; inf]; v_3196 - v_3203 = [-inf; 0]; v_3200 + v_3203 = [1; inf]; v_3200 - v_3203 = [-inf; 1]; b_218 - b_219 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_219 = [-1; -1]; ULTIMATE.start_main_p1 - b_219 = [-inf; -2]; ULTIMATE.start_main_p2 - b_219 = [-1; -1]; v_3196 + v_3200 = [1; 1]; v_3196 - v_3200 = [-1; -1]; v_3196 + v_3205 = [-inf; 0]; v_3196 - v_3205 = [0; inf]; v_3203 - v_3205 = [0; inf]; v_3200 + v_3205 = [-inf; 1]; v_3200 - v_3205 = [1; inf]; ULTIMATE.start_malloc_ptr - b_218 = [0; 0]; ULTIMATE.start_main_p1 - b_218 = [-inf; -1]; ULTIMATE.start_main_p2 - b_218 = [0; 0]; b_219 - b_222 = [2; inf]; b_218 - b_222 = [1; inf]; ULTIMATE.start_malloc_ptr - b_222 = [1; inf]; ULTIMATE.start_main_p1 - b_222 = [0; 0]; ULTIMATE.start_main_p2 - b_222 = [1; inf]; b_221 - b_222 = [2; inf]; b_220 - b_222 = [1; inf]; b_219 - b_225 = [0; 0]; b_218 - b_225 = [-1; -1]; b_222 - b_225 = [-inf; -2]; ULTIMATE.start_malloc_ptr - b_225 = [-1; -1]; b_223 - b_225 = [-inf; -1]; ULTIMATE.start_main_p1 - b_225 = [-inf; -2]; ULTIMATE.start_main_p2 - b_225 = [-1; -1]; b_221 - b_225 = [0; 0]; b_220 - b_225 = [-1; -1]; b_224 - b_225 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; b_219 - b_223 = [1; inf]; b_218 - b_223 = [0; inf]; b_222 - b_223 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_223 = [0; inf]; ULTIMATE.start_main_p1 - b_223 = [-1; -1]; ULTIMATE.start_main_p2 - b_223 = [0; inf]; b_221 - b_223 = [1; inf]; b_220 - b_223 = [0; inf]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_219 - b_221 = [0; 0]; b_218 - b_221 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_221 = [-1; -1]; ULTIMATE.start_main_p1 - b_221 = [-inf; -2]; ULTIMATE.start_main_p2 - b_221 = [-1; -1]; b_220 - b_221 = [-1; -1]; b_219 - b_220 = [1; 1]; b_218 - b_220 = [0; 0]; ULTIMATE.start_malloc_ptr - b_220 = [0; 0]; ULTIMATE.start_main_p1 - b_220 = [-inf; -1]; ULTIMATE.start_main_p2 - b_220 = [0; 0]; b_219 - b_224 = [1; 1]; b_218 - b_224 = [0; 0]; b_222 - b_224 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_224 = [0; 0]; b_223 - b_224 = [-inf; 0]; ULTIMATE.start_main_p1 - b_224 = [-inf; -1]; ULTIMATE.start_main_p2 - b_224 = [0; 0]; b_221 - b_224 = [1; 1]; b_220 - b_224 = [0; 0]}, }}} [2019-02-28 13:50:55,045 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-28 13:50:55,045 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-28 13:50:55,045 WARN L630 ntHoareTripleChecker]: -- [2019-02-28 13:50:56,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:50:56,973 INFO L93 Difference]: Finished difference Result 8 states and 12 transitions. [2019-02-28 13:50:56,973 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-28 13:50:56,973 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-28 13:50:56,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-28 13:50:56,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-28 13:50:56,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 6 transitions. [2019-02-28 13:50:56,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-28 13:50:56,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 6 transitions. [2019-02-28 13:50:56,974 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 6 transitions. [2019-02-28 13:50:56,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-28 13:50:56,996 INFO L225 Difference]: With dead ends: 8 [2019-02-28 13:50:56,996 INFO L226 Difference]: Without dead ends: 0 [2019-02-28 13:50:56,997 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 0 SyntacticMatches, 2 SemanticMatches, 2 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=5, Invalid=4, Unknown=1, NotChecked=2, Total=12 [2019-02-28 13:50:56,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2019-02-28 13:50:56,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-02-28 13:50:56,997 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-28 13:50:56,997 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2019-02-28 13:50:56,997 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-02-28 13:50:56,997 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-02-28 13:50:56,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:50:56,998 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-02-28 13:50:56,998 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-28 13:50:56,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:50:56,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:50:56,998 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-02-28 13:50:56,999 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-02-28 13:50:56,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-28 13:50:56,999 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-02-28 13:50:56,999 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-28 13:50:56,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:50:56,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-28 13:50:56,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-28 13:50:57,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-28 13:50:57,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2019-02-28 13:50:57,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-02-28 13:50:57,000 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 4 [2019-02-28 13:50:57,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-28 13:50:57,000 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2019-02-28 13:50:57,000 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-28 13:50:57,000 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-28 13:50:57,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-28 13:50:57,004 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2019-02-28 13:50:57,083 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(lines 7 9) no Hoare annotation was computed. [2019-02-28 13:50:57,083 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startENTRY(lines 7 9) no Hoare annotation was computed. [2019-02-28 13:50:57,084 INFO L444 ceAbstractionStarter]: At program point L26-1(lines 25 31) the Hoare annotation is: (forall ((v_idx_3138 Int) (v_idx_3143 Int) (v_idx_3135 Int) (v_idx_3141 Int)) (let ((.cse0 (+ ULTIMATE.start_main_p2 1)) (.cse1 (+ ULTIMATE.start_main_p1 1))) (and (or (< v_idx_3138 ULTIMATE.start_main_p2) (= 1 (select |#valid| v_idx_3138)) (<= .cse0 v_idx_3138)) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= .cse1 ULTIMATE.start_malloc_ptr) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_3135)) (< v_idx_3135 ULTIMATE.start_main_p2) (<= .cse0 v_idx_3135)) (let ((.cse8 (select |#memory_int| v_idx_3143))) (let ((.cse4 (< v_idx_3143 ULTIMATE.start_main_p2)) (.cse6 (<= (* 2 .cse8) 0)) (.cse7 (<= .cse8 0)) (.cse5 (<= .cse0 v_idx_3143))) (let ((.cse2 (or .cse4 (and .cse6 .cse7) .cse5))) (or (and .cse2 (<= .cse1 v_idx_3141)) (let ((.cse3 (select |#memory_int| v_idx_3141))) (and (<= 0 (* 2 .cse3)) (or .cse4 .cse5 (and .cse6 .cse7 (<= .cse8 .cse3))) (<= 0 .cse3))) (and .cse2 (< v_idx_3141 ULTIMATE.start_main_p1)))))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= .cse1 ULTIMATE.start_main_p2)))) [2019-02-28 13:50:57,084 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startErr0ASSERT_VIOLATIONASSERT(line 33) no Hoare annotation was computed. [2019-02-28 13:50:57,084 INFO L448 ceAbstractionStarter]: For program point L14(lines 7 36) no Hoare annotation was computed. [2019-02-28 13:50:57,084 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startErr1ASSERT_VIOLATIONASSERT(line 34) no Hoare annotation was computed. [2019-02-28 13:50:57,084 INFO L448 ceAbstractionStarter]: For program point L34(line 34) no Hoare annotation was computed. [2019-02-28 13:50:57,086 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2019-02-28 13:50:57,086 WARN L170 areAnnotationChecker]: ULTIMATE.startErr0ASSERT_VIOLATIONASSERT has no Hoare annotation [2019-02-28 13:50:57,086 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2019-02-28 13:50:57,106 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2019-02-28 13:50:57,107 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2019-02-28 13:50:57,107 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2019-02-28 13:50:57,107 INFO L163 areAnnotationChecker]: CFG has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2019-02-28 13:50:57,115 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.02 01:50:57 BoogieIcfgContainer [2019-02-28 13:50:57,116 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-02-28 13:50:57,117 INFO L168 Benchmark]: Toolchain (without parser) took 259574.75 ms. Allocated memory was 136.3 MB in the beginning and 1.2 GB in the end (delta: 1.1 GB). Free memory was 104.8 MB in the beginning and 286.3 MB in the end (delta: -181.5 MB). Peak memory consumption was 889.0 MB. Max. memory is 7.1 GB. [2019-02-28 13:50:57,119 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.19 ms. Allocated memory is still 136.3 MB. Free memory is still 106.1 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-02-28 13:50:57,119 INFO L168 Benchmark]: Boogie Procedure Inliner took 60.07 ms. Allocated memory is still 136.3 MB. Free memory was 104.6 MB in the beginning and 102.3 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 7.1 GB. [2019-02-28 13:50:57,120 INFO L168 Benchmark]: Boogie Preprocessor took 25.15 ms. Allocated memory is still 136.3 MB. Free memory was 102.3 MB in the beginning and 101.2 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. [2019-02-28 13:50:57,121 INFO L168 Benchmark]: RCFGBuilder took 582.17 ms. Allocated memory is still 136.3 MB. Free memory was 101.2 MB in the beginning and 90.0 MB in the end (delta: 11.2 MB). Peak memory consumption was 11.2 MB. Max. memory is 7.1 GB. [2019-02-28 13:50:57,121 INFO L168 Benchmark]: TraceAbstraction took 258902.90 ms. Allocated memory was 136.3 MB in the beginning and 1.2 GB in the end (delta: 1.1 GB). Free memory was 89.8 MB in the beginning and 286.3 MB in the end (delta: -196.6 MB). Peak memory consumption was 874.0 MB. Max. memory is 7.1 GB. [2019-02-28 13:50:57,126 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.19 ms. Allocated memory is still 136.3 MB. Free memory is still 106.1 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 60.07 ms. Allocated memory is still 136.3 MB. Free memory was 104.6 MB in the beginning and 102.3 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 25.15 ms. Allocated memory is still 136.3 MB. Free memory was 102.3 MB in the beginning and 101.2 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 582.17 ms. Allocated memory is still 136.3 MB. Free memory was 101.2 MB in the beginning and 90.0 MB in the end (delta: 11.2 MB). Peak memory consumption was 11.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 258902.90 ms. Allocated memory was 136.3 MB in the beginning and 1.2 GB in the end (delta: 1.1 GB). Free memory was 89.8 MB in the beginning and 286.3 MB in the end (delta: -196.6 MB). Peak memory consumption was 874.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 33]: assertion always holds For all program executions holds that assertion always holds at this location - PositiveResult [Line: 34]: assertion always holds For all program executions holds that assertion always holds at this location - AllSpecificationsHoldResult: All specifications hold 2 specifications checked. All of them hold - InvariantResult [Line: 25]: Loop Invariant Derived loop invariant: (forall v_idx_3138 : int, v_idx_3143 : int, v_idx_3135 : int, v_idx_3141 : int :: (((((((v_idx_3138 < p2 || 1 == #valid[v_idx_3138]) || p2 + 1 <= v_idx_3138) && p2 <= ptr) && p1 + 1 <= ptr) && ((0 == old(malloc_old_#valid)[v_idx_3135] || v_idx_3135 < p2) || p2 + 1 <= v_idx_3135)) && (((((v_idx_3143 < p2 || (2 * #memory_int[v_idx_3143] <= 0 && #memory_int[v_idx_3143] <= 0)) || p2 + 1 <= v_idx_3143) && p1 + 1 <= v_idx_3141) || ((0 <= 2 * #memory_int[v_idx_3141] && ((v_idx_3143 < p2 || p2 + 1 <= v_idx_3143) || ((2 * #memory_int[v_idx_3143] <= 0 && #memory_int[v_idx_3143] <= 0) && #memory_int[v_idx_3143] <= #memory_int[v_idx_3141]))) && 0 <= #memory_int[v_idx_3141])) || (((v_idx_3143 < p2 || (2 * #memory_int[v_idx_3143] <= 0 && #memory_int[v_idx_3143] <= 0)) || p2 + 1 <= v_idx_3143) && v_idx_3141 < p1))) && ptr <= p2) && p1 + 1 <= p2) - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 7 locations, 2 error locations. SAFE Result, 258.7s OverallTime, 4 OverallIterations, 1 TraceHistogramMax, 21.1s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 10 SDtfs, 7 SDslu, 1 SDs, 0 SdLazy, 15 SolverSat, 17 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 27.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 9 GetRequests, 0 SyntacticMatches, 4 SemanticMatches, 5 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=8occurred in iteration=3, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 212.5s AbstIntTime, 3 AbstIntIterations, 3 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 3 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 1 LocationsWithAnnotation, 1 PreInvPairs, 4 NumberOfFragments, 143 HoareAnnotationTreeSize, 1 FomulaSimplifications, 939 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 1 FomulaSimplificationsInter, 0 FormulaSimplificationTreeSizeReductionInter, 0.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.5s InterpolantComputationTime, 12 NumberOfCodeBlocks, 12 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 8 ConstructedInterpolants, 0 QuantifiedInterpolants, 165 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 4 InterpolantComputations, 1 PerfectInterpolantSequences, 0/5 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...