java -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-6-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1de736e-m [2019-02-18 10:07:24,288 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-18 10:07:24,291 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-18 10:07:24,303 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-18 10:07:24,305 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-18 10:07:24,306 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-18 10:07:24,308 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-18 10:07:24,310 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-18 10:07:24,313 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-18 10:07:24,314 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-18 10:07:24,317 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-18 10:07:24,317 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-18 10:07:24,318 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-18 10:07:24,321 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-18 10:07:24,328 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-18 10:07:24,329 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-18 10:07:24,330 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-18 10:07:24,333 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-18 10:07:24,338 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-18 10:07:24,340 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-18 10:07:24,341 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-18 10:07:24,343 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-18 10:07:24,345 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-18 10:07:24,346 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-18 10:07:24,346 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-18 10:07:24,347 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-18 10:07:24,348 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-18 10:07:24,350 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-18 10:07:24,351 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-18 10:07:24,354 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-18 10:07:24,354 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-18 10:07:24,355 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-18 10:07:24,355 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-18 10:07:24,355 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-18 10:07:24,356 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-18 10:07:24,357 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-18 10:07:24,357 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-18 10:07:24,379 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-18 10:07:24,379 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-18 10:07:24,381 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-18 10:07:24,381 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-18 10:07:24,381 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-18 10:07:24,382 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-18 10:07:24,382 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-18 10:07:24,382 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-18 10:07:24,383 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-18 10:07:24,383 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2019-02-18 10:07:24,383 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2019-02-18 10:07:24,383 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-18 10:07:24,383 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-18 10:07:24,384 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-18 10:07:24,384 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-18 10:07:24,384 INFO L133 SettingsManager]: * Use SBE=true [2019-02-18 10:07:24,386 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-18 10:07:24,386 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-18 10:07:24,386 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-18 10:07:24,387 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-18 10:07:24,387 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-18 10:07:24,387 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-18 10:07:24,387 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-18 10:07:24,387 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-18 10:07:24,387 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-18 10:07:24,388 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-18 10:07:24,388 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-18 10:07:24,388 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-18 10:07:24,388 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-18 10:07:24,388 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-18 10:07:24,389 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:8092 -smt2 -in -t:10000 [2019-02-18 10:07:24,389 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-18 10:07:24,389 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-18 10:07:24,389 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-18 10:07:24,389 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-18 10:07:24,390 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-18 10:07:24,390 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:8092 -smt2 -in [2019-02-18 10:07:24,390 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-18 10:07:24,390 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-18 10:07:24,431 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-18 10:07:24,442 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-18 10:07:24,445 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-18 10:07:24,448 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-18 10:07:24,449 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-18 10:07:24,449 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-limited.bpl [2019-02-18 10:07:24,450 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-limited.bpl' [2019-02-18 10:07:24,490 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-18 10:07:24,492 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-18 10:07:24,493 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-18 10:07:24,493 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-18 10:07:24,493 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-18 10:07:24,512 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,524 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,554 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-18 10:07:24,555 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-18 10:07:24,555 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-18 10:07:24,555 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-18 10:07:24,566 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,566 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,568 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,568 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,572 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,576 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,577 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/1) ... [2019-02-18 10:07:24,579 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-18 10:07:24,580 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-18 10:07:24,580 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-18 10:07:24,580 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-18 10:07:24,581 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (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:8092 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:8092 -smt2 -in -t:10000 [2019-02-18 10:07:24,652 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-02-18 10:07:24,652 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-02-18 10:07:25,029 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-02-18 10:07:25,029 INFO L286 CfgBuilder]: Removed 15 assue(true) statements. [2019-02-18 10:07:25,031 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.02 10:07:25 BoogieIcfgContainer [2019-02-18 10:07:25,031 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-18 10:07:25,032 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-18 10:07:25,032 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-18 10:07:25,035 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-18 10:07:25,035 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.02 10:07:24" (1/2) ... [2019-02-18 10:07:25,037 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6d59864 and model type speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.02 10:07:25, skipping insertion in model container [2019-02-18 10:07:25,037 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.02 10:07:25" (2/2) ... [2019-02-18 10:07:25,039 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-6-limited.bpl [2019-02-18 10:07:25,047 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-18 10:07:25,054 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 6 error locations. [2019-02-18 10:07:25,066 INFO L257 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2019-02-18 10:07:25,093 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-18 10:07:25,093 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-18 10:07:25,093 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-18 10:07:25,093 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-18 10:07:25,094 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-18 10:07:25,094 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-18 10:07:25,094 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-18 10:07:25,094 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-18 10:07:25,107 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states. [2019-02-18 10:07:25,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-02-18 10:07:25,114 INFO L394 BasicCegarLoop]: Found error trace [2019-02-18 10:07:25,114 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-02-18 10:07:25,117 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT]=== [2019-02-18 10:07:25,121 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:07:25,122 INFO L82 PathProgramCache]: Analyzing trace with hash 988, now seen corresponding path program 1 times [2019-02-18 10:07:25,124 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-18 10:07:25,166 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:07:25,166 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-18 10:07:25,166 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:07:25,166 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-18 10:07:25,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-18 10:07:25,316 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-18 10:07:25,318 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-18 10:07:25,318 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-18 10:07:25,319 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-18 10:07:25,323 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-18 10:07:25,340 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-18 10:07:25,340 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-18 10:07:25,348 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 3 states. [2019-02-18 10:07:25,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-18 10:07:25,630 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2019-02-18 10:07:25,631 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-18 10:07:25,632 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-18 10:07:25,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-18 10:07:25,647 INFO L225 Difference]: With dead ends: 29 [2019-02-18 10:07:25,647 INFO L226 Difference]: Without dead ends: 24 [2019-02-18 10:07:25,650 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-18 10:07:25,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2019-02-18 10:07:25,686 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 14. [2019-02-18 10:07:25,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-18 10:07:25,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 25 transitions. [2019-02-18 10:07:25,690 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 25 transitions. Word has length 2 [2019-02-18 10:07:25,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-18 10:07:25,692 INFO L480 AbstractCegarLoop]: Abstraction has 14 states and 25 transitions. [2019-02-18 10:07:25,692 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-18 10:07:25,692 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 25 transitions. [2019-02-18 10:07:25,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-18 10:07:25,693 INFO L394 BasicCegarLoop]: Found error trace [2019-02-18 10:07:25,693 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-18 10:07:25,694 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT]=== [2019-02-18 10:07:25,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:07:25,694 INFO L82 PathProgramCache]: Analyzing trace with hash 30376, now seen corresponding path program 1 times [2019-02-18 10:07:25,694 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-18 10:07:25,696 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:07:25,696 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-18 10:07:25,696 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:07:25,696 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-18 10:07:25,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-18 10:07:25,993 WARN L181 SmtUtils]: Spent 221.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2019-02-18 10:07:26,026 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-18 10:07:26,027 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-18 10:07:26,027 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-18 10:07:26,028 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-18 10:07:26,030 INFO L207 CegarAbsIntRunner]: [0], [18], [27] [2019-02-18 10:07:26,078 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-18 10:07:26,078 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-18 10:07:40,158 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-18 10:07:40,160 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-18 10:07:40,166 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:07:40,166 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-18 10:07:40,883 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-18 10:08:01,014 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_48 Int) (v_idx_56 Int) (v_idx_46 Int) (v_idx_43 Int) (v_idx_54 Int) (v_idx_52 Int) (v_idx_50 Int) (v_idx_40 Int)) (let ((.cse3 (+ c_ULTIMATE.start_main_p4 1)) (.cse6 (+ c_ULTIMATE.start_main_p1 5)) (.cse8 (+ c_ULTIMATE.start_main_p2 4)) (.cse1 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse9 (+ c_ULTIMATE.start_main_p2 1)) (.cse4 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse7 (+ c_ULTIMATE.start_main_p3 1)) (.cse10 (+ c_ULTIMATE.start_main_p1 1)) (.cse5 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse1 c_ULTIMATE.start_main_p6) (or (< v_idx_52 c_ULTIMATE.start_main_p4) (let ((.cse2 (select |c_#memory_int| v_idx_52))) (and (<= (* 2 .cse2) 0) (<= .cse2 0))) (<= .cse3 v_idx_52)) (or (<= .cse4 v_idx_43) (= 1 (select |c_#valid| v_idx_43)) (< v_idx_43 c_ULTIMATE.start_main_p6)) (<= .cse5 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_54 c_ULTIMATE.start_main_p5) (<= .cse0 v_idx_54) (= 0 (select |c_#memory_int| v_idx_54))) (<= .cse3 c_ULTIMATE.start_main_p5) (<= .cse6 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (= 0 (select |c_#memory_int| v_idx_50)) (<= .cse7 v_idx_50) (< v_idx_50 c_ULTIMATE.start_main_p3)) (<= .cse8 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse6 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse8 c_ULTIMATE.start_main_p6) (or (<= .cse9 v_idx_48) (< v_idx_48 c_ULTIMATE.start_main_p2) (= 0 (select |c_#memory_int| v_idx_48))) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (or (<= .cse10 v_idx_46) (< v_idx_46 c_ULTIMATE.start_main_p1) (= 0 (select |c_#memory_int| v_idx_46))) (<= .cse9 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_40) 0) (<= .cse4 v_idx_40) (< v_idx_40 c_ULTIMATE.start_main_p6)) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (or (<= .cse4 v_idx_56) (= 0 (select |c_#memory_int| v_idx_56)) (< v_idx_56 c_ULTIMATE.start_main_p6)) (<= .cse7 c_ULTIMATE.start_main_p4) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse10 c_ULTIMATE.start_main_p2) (<= .cse5 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:08:25,888 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_69 Int) (v_idx_59 Int) (v_idx_67 Int) (v_idx_65 Int) (v_idx_75 Int) (v_idx_62 Int) (v_idx_73 Int) (v_idx_71 Int)) (let ((.cse6 (+ c_ULTIMATE.start_main_p4 1)) (.cse4 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse7 (+ c_ULTIMATE.start_main_p1 5)) (.cse9 (+ c_ULTIMATE.start_main_p2 4)) (.cse3 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse10 (+ c_ULTIMATE.start_main_p2 1)) (.cse1 (+ c_ULTIMATE.start_main_p3 1)) (.cse2 (+ c_ULTIMATE.start_main_p1 1)) (.cse5 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (or (= (select |c_#memory_int| v_idx_69) 0) (<= .cse1 v_idx_69) (< v_idx_69 c_ULTIMATE.start_main_p3)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (or (< v_idx_65 c_ULTIMATE.start_main_p1) (<= .cse2 v_idx_65) (= 0 (select |c_#memory_int| v_idx_65))) (<= .cse3 c_ULTIMATE.start_main_p6) (or (<= .cse4 v_idx_62) (< v_idx_62 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_62))) (<= .cse5 c_ULTIMATE.start_malloc_ptr) (<= .cse6 c_ULTIMATE.start_main_p5) (<= .cse7 c_ULTIMATE.start_malloc_ptr) (or (<= .cse0 v_idx_73) (= (select |c_#memory_int| v_idx_73) 0) (< v_idx_73 c_ULTIMATE.start_main_p5)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (< v_idx_75 c_ULTIMATE.start_main_p6) (= (select |c_#memory_int| v_idx_75) 0) (<= .cse4 v_idx_75)) (or (< v_idx_71 c_ULTIMATE.start_main_p4) (<= .cse6 v_idx_71) (let ((.cse8 (select |c_#memory_int| v_idx_71))) (and (<= .cse8 0) (<= (* 2 .cse8) 0)))) (<= .cse9 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_59 c_ULTIMATE.start_main_p6) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_59)) (<= .cse4 v_idx_59)) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse7 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse9 c_ULTIMATE.start_main_p6) (or (<= .cse10 v_idx_67) (= 0 (select |c_#memory_int| v_idx_67)) (< v_idx_67 c_ULTIMATE.start_main_p2)) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse10 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse1 c_ULTIMATE.start_main_p4) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse2 c_ULTIMATE.start_main_p2) (<= .cse5 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:08:26,129 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-18 10:08:26,130 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-18 10:08:26,132 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-18 10:08:26,133 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 4 [2019-02-18 10:08:26,133 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-18 10:08:26,134 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-18 10:08:26,134 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-18 10:08:26,134 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=3, Unknown=2, NotChecked=2, Total=12 [2019-02-18 10:08:26,135 INFO L87 Difference]: Start difference. First operand 14 states and 25 transitions. Second operand 4 states. [2019-02-18 10:08:47,489 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_idx_69 Int) (v_idx_59 Int) (v_idx_67 Int) (v_idx_65 Int) (v_idx_75 Int) (v_idx_62 Int) (v_idx_73 Int) (v_idx_71 Int)) (let ((.cse6 (+ c_ULTIMATE.start_main_p4 1)) (.cse4 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse7 (+ c_ULTIMATE.start_main_p1 5)) (.cse9 (+ c_ULTIMATE.start_main_p2 4)) (.cse3 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse10 (+ c_ULTIMATE.start_main_p2 1)) (.cse1 (+ c_ULTIMATE.start_main_p3 1)) (.cse2 (+ c_ULTIMATE.start_main_p1 1)) (.cse5 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (or (= (select |c_#memory_int| v_idx_69) 0) (<= .cse1 v_idx_69) (< v_idx_69 c_ULTIMATE.start_main_p3)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (or (< v_idx_65 c_ULTIMATE.start_main_p1) (<= .cse2 v_idx_65) (= 0 (select |c_#memory_int| v_idx_65))) (<= .cse3 c_ULTIMATE.start_main_p6) (or (<= .cse4 v_idx_62) (< v_idx_62 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_62))) (<= .cse5 c_ULTIMATE.start_malloc_ptr) (<= .cse6 c_ULTIMATE.start_main_p5) (<= .cse7 c_ULTIMATE.start_malloc_ptr) (or (<= .cse0 v_idx_73) (= (select |c_#memory_int| v_idx_73) 0) (< v_idx_73 c_ULTIMATE.start_main_p5)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (< v_idx_75 c_ULTIMATE.start_main_p6) (= (select |c_#memory_int| v_idx_75) 0) (<= .cse4 v_idx_75)) (or (< v_idx_71 c_ULTIMATE.start_main_p4) (<= .cse6 v_idx_71) (let ((.cse8 (select |c_#memory_int| v_idx_71))) (and (<= .cse8 0) (<= (* 2 .cse8) 0)))) (<= .cse9 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_59 c_ULTIMATE.start_main_p6) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_59)) (<= .cse4 v_idx_59)) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse7 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse9 c_ULTIMATE.start_main_p6) (or (<= .cse10 v_idx_67) (= 0 (select |c_#memory_int| v_idx_67)) (< v_idx_67 c_ULTIMATE.start_main_p2)) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse10 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse1 c_ULTIMATE.start_main_p4) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse2 c_ULTIMATE.start_main_p2) (<= .cse5 c_ULTIMATE.start_main_p6)))) (forall ((v_idx_48 Int) (v_idx_56 Int) (v_idx_46 Int) (v_idx_43 Int) (v_idx_54 Int) (v_idx_52 Int) (v_idx_50 Int) (v_idx_40 Int)) (let ((.cse14 (+ c_ULTIMATE.start_main_p4 1)) (.cse17 (+ c_ULTIMATE.start_main_p1 5)) (.cse19 (+ c_ULTIMATE.start_main_p2 4)) (.cse12 (+ c_ULTIMATE.start_main_p3 3)) (.cse11 (+ c_ULTIMATE.start_main_p5 1)) (.cse20 (+ c_ULTIMATE.start_main_p2 1)) (.cse15 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse18 (+ c_ULTIMATE.start_main_p3 1)) (.cse21 (+ c_ULTIMATE.start_main_p1 1)) (.cse16 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse11 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse12 c_ULTIMATE.start_main_p6) (or (< v_idx_52 c_ULTIMATE.start_main_p4) (let ((.cse13 (select |c_#memory_int| v_idx_52))) (and (<= (* 2 .cse13) 0) (<= .cse13 0))) (<= .cse14 v_idx_52)) (or (<= .cse15 v_idx_43) (= 1 (select |c_#valid| v_idx_43)) (< v_idx_43 c_ULTIMATE.start_main_p6)) (<= .cse16 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_54 c_ULTIMATE.start_main_p5) (<= .cse11 v_idx_54) (= 0 (select |c_#memory_int| v_idx_54))) (<= .cse14 c_ULTIMATE.start_main_p5) (<= .cse17 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (= 0 (select |c_#memory_int| v_idx_50)) (<= .cse18 v_idx_50) (< v_idx_50 c_ULTIMATE.start_main_p3)) (<= .cse19 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse17 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse19 c_ULTIMATE.start_main_p6) (or (<= .cse20 v_idx_48) (< v_idx_48 c_ULTIMATE.start_main_p2) (= 0 (select |c_#memory_int| v_idx_48))) (<= .cse12 c_ULTIMATE.start_malloc_ptr) (<= .cse11 c_ULTIMATE.start_main_p6) (or (<= .cse21 v_idx_46) (< v_idx_46 c_ULTIMATE.start_main_p1) (= 0 (select |c_#memory_int| v_idx_46))) (<= .cse20 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_40) 0) (<= .cse15 v_idx_40) (< v_idx_40 c_ULTIMATE.start_main_p6)) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (or (<= .cse15 v_idx_56) (= 0 (select |c_#memory_int| v_idx_56)) (< v_idx_56 c_ULTIMATE.start_main_p6)) (<= .cse18 c_ULTIMATE.start_main_p4) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse21 c_ULTIMATE.start_main_p2) (<= .cse16 c_ULTIMATE.start_main_p6))))) is different from false [2019-02-18 10:13:27,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-18 10:13:27,830 INFO L93 Difference]: Finished difference Result 16 states and 33 transitions. [2019-02-18 10:13:27,831 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-18 10:13:27,831 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-18 10:13:27,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-18 10:13:27,832 INFO L225 Difference]: With dead ends: 16 [2019-02-18 10:13:27,832 INFO L226 Difference]: Without dead ends: 15 [2019-02-18 10:13:27,833 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 66.5s TimeCoverageRelationStatistics Valid=7, Invalid=4, Unknown=3, NotChecked=6, Total=20 [2019-02-18 10:13:27,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states. [2019-02-18 10:13:27,837 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 15. [2019-02-18 10:13:27,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2019-02-18 10:13:27,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 32 transitions. [2019-02-18 10:13:27,838 INFO L78 Accepts]: Start accepts. Automaton has 15 states and 32 transitions. Word has length 3 [2019-02-18 10:13:27,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-18 10:13:27,839 INFO L480 AbstractCegarLoop]: Abstraction has 15 states and 32 transitions. [2019-02-18 10:13:27,839 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-18 10:13:27,839 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 32 transitions. [2019-02-18 10:13:27,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-18 10:13:27,839 INFO L394 BasicCegarLoop]: Found error trace [2019-02-18 10:13:27,840 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-18 10:13:27,840 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT]=== [2019-02-18 10:13:27,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:13:27,841 INFO L82 PathProgramCache]: Analyzing trace with hash 30004, now seen corresponding path program 1 times [2019-02-18 10:13:27,841 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-18 10:13:27,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:13:27,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-18 10:13:27,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:13:27,842 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-18 10:13:27,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-18 10:13:27,899 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-18 10:13:27,900 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-18 10:13:27,900 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-18 10:13:27,900 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-18 10:13:27,901 INFO L207 CegarAbsIntRunner]: [0], [6], [27] [2019-02-18 10:13:27,903 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-18 10:13:27,903 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-18 10:13:39,881 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-18 10:13:39,881 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-18 10:13:39,881 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:13:39,882 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-18 10:13:40,311 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-18 10:14:03,245 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_126 Int) (v_idx_116 Int) (v_idx_124 Int) (v_idx_119 Int) (v_idx_128 Int) (v_idx_130 Int) (v_idx_122 Int) (v_idx_132 Int)) (let ((.cse3 (+ c_ULTIMATE.start_main_p4 1)) (.cse4 (+ c_ULTIMATE.start_main_p1 5)) (.cse9 (+ c_ULTIMATE.start_main_p2 4)) (.cse1 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse5 (+ c_ULTIMATE.start_main_p2 1)) (.cse10 (+ c_ULTIMATE.start_main_p3 1)) (.cse6 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse7 (+ c_ULTIMATE.start_main_p1 1)) (.cse2 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (or (< v_idx_130 c_ULTIMATE.start_main_p5) (= (select |c_#memory_int| v_idx_130) 0) (<= .cse0 v_idx_130)) (<= .cse1 c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse3 c_ULTIMATE.start_main_p5) (<= .cse4 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_124 c_ULTIMATE.start_main_p2) (<= .cse5 v_idx_124) (= (select |c_#memory_int| v_idx_124) 0)) (or (<= .cse6 v_idx_119) (< v_idx_119 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_119))) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (< v_idx_128 c_ULTIMATE.start_main_p4) (<= .cse3 v_idx_128) (= (select |c_#memory_int| v_idx_128) 0)) (or (<= .cse7 v_idx_122) (< v_idx_122 c_ULTIMATE.start_main_p1) (let ((.cse8 (select |c_#memory_int| v_idx_122))) (and (<= 0 (* 2 .cse8)) (<= 0 .cse8)))) (<= .cse9 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse4 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse9 c_ULTIMATE.start_main_p6) (or (= 0 (select |c_#memory_int| v_idx_126)) (<= .cse10 v_idx_126) (< v_idx_126 c_ULTIMATE.start_main_p3)) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse5 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse10 c_ULTIMATE.start_main_p4) (or (< v_idx_132 c_ULTIMATE.start_main_p6) (<= .cse6 v_idx_132) (= (select |c_#memory_int| v_idx_132) 0)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_116)) (< v_idx_116 c_ULTIMATE.start_main_p6) (<= .cse6 v_idx_116)) (<= .cse7 c_ULTIMATE.start_main_p2) (<= .cse2 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:14:28,345 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_149 Int) (v_idx_138 Int) (v_idx_135 Int) (v_idx_147 Int) (v_idx_151 Int) (v_idx_141 Int) (v_idx_145 Int) (v_idx_143 Int)) (let ((.cse5 (+ c_ULTIMATE.start_main_p1 5)) (.cse6 (+ c_ULTIMATE.start_main_p2 4)) (.cse4 (+ c_ULTIMATE.start_main_p4 1)) (.cse2 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse10 (+ c_ULTIMATE.start_main_p2 1)) (.cse1 (+ c_ULTIMATE.start_main_p3 1)) (.cse7 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse9 (+ c_ULTIMATE.start_main_p1 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (or (= 0 (select |c_#memory_int| v_idx_145)) (<= .cse1 v_idx_145) (< v_idx_145 c_ULTIMATE.start_main_p3)) (<= .cse2 c_ULTIMATE.start_main_p6) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (<= .cse4 c_ULTIMATE.start_main_p5) (<= .cse5 c_ULTIMATE.start_malloc_ptr) (or (<= .cse0 v_idx_149) (= (select |c_#memory_int| v_idx_149) 0) (< v_idx_149 c_ULTIMATE.start_main_p5)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (<= .cse6 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (or (< v_idx_135 c_ULTIMATE.start_main_p6) (<= .cse7 v_idx_135) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_135))) (<= .cse5 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (let ((.cse8 (select |c_#memory_int| v_idx_141))) (and (<= 0 .cse8) (<= 0 (* 2 .cse8)))) (<= .cse9 v_idx_141) (< v_idx_141 c_ULTIMATE.start_main_p1)) (<= .cse6 c_ULTIMATE.start_main_p6) (or (<= .cse7 v_idx_138) (= 1 (select |c_#valid| v_idx_138)) (< v_idx_138 c_ULTIMATE.start_main_p6)) (or (< v_idx_143 c_ULTIMATE.start_main_p2) (<= .cse10 v_idx_143) (= (select |c_#memory_int| v_idx_143) 0)) (or (= (select |c_#memory_int| v_idx_147) 0) (< v_idx_147 c_ULTIMATE.start_main_p4) (<= .cse4 v_idx_147)) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse10 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse1 c_ULTIMATE.start_main_p4) (or (< v_idx_151 c_ULTIMATE.start_main_p6) (<= .cse7 v_idx_151) (= 0 (select |c_#memory_int| v_idx_151))) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse9 c_ULTIMATE.start_main_p2) (<= .cse3 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:14:28,591 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-18 10:14:28,591 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-18 10:14:28,591 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-18 10:14:28,592 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 4 [2019-02-18 10:14:28,592 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-18 10:14:28,592 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-18 10:14:28,592 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-18 10:14:28,592 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=3, Unknown=2, NotChecked=2, Total=12 [2019-02-18 10:14:28,593 INFO L87 Difference]: Start difference. First operand 15 states and 32 transitions. Second operand 4 states. [2019-02-18 10:14:47,537 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_idx_126 Int) (v_idx_116 Int) (v_idx_124 Int) (v_idx_119 Int) (v_idx_128 Int) (v_idx_130 Int) (v_idx_122 Int) (v_idx_132 Int)) (let ((.cse3 (+ c_ULTIMATE.start_main_p4 1)) (.cse4 (+ c_ULTIMATE.start_main_p1 5)) (.cse9 (+ c_ULTIMATE.start_main_p2 4)) (.cse1 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse5 (+ c_ULTIMATE.start_main_p2 1)) (.cse10 (+ c_ULTIMATE.start_main_p3 1)) (.cse6 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse7 (+ c_ULTIMATE.start_main_p1 1)) (.cse2 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (or (< v_idx_130 c_ULTIMATE.start_main_p5) (= (select |c_#memory_int| v_idx_130) 0) (<= .cse0 v_idx_130)) (<= .cse1 c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse3 c_ULTIMATE.start_main_p5) (<= .cse4 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_124 c_ULTIMATE.start_main_p2) (<= .cse5 v_idx_124) (= (select |c_#memory_int| v_idx_124) 0)) (or (<= .cse6 v_idx_119) (< v_idx_119 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_119))) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (< v_idx_128 c_ULTIMATE.start_main_p4) (<= .cse3 v_idx_128) (= (select |c_#memory_int| v_idx_128) 0)) (or (<= .cse7 v_idx_122) (< v_idx_122 c_ULTIMATE.start_main_p1) (let ((.cse8 (select |c_#memory_int| v_idx_122))) (and (<= 0 (* 2 .cse8)) (<= 0 .cse8)))) (<= .cse9 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse4 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse9 c_ULTIMATE.start_main_p6) (or (= 0 (select |c_#memory_int| v_idx_126)) (<= .cse10 v_idx_126) (< v_idx_126 c_ULTIMATE.start_main_p3)) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse5 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse10 c_ULTIMATE.start_main_p4) (or (< v_idx_132 c_ULTIMATE.start_main_p6) (<= .cse6 v_idx_132) (= (select |c_#memory_int| v_idx_132) 0)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_116)) (< v_idx_116 c_ULTIMATE.start_main_p6) (<= .cse6 v_idx_116)) (<= .cse7 c_ULTIMATE.start_main_p2) (<= .cse2 c_ULTIMATE.start_main_p6)))) (forall ((v_idx_149 Int) (v_idx_138 Int) (v_idx_135 Int) (v_idx_147 Int) (v_idx_151 Int) (v_idx_141 Int) (v_idx_145 Int) (v_idx_143 Int)) (let ((.cse16 (+ c_ULTIMATE.start_main_p1 5)) (.cse17 (+ c_ULTIMATE.start_main_p2 4)) (.cse15 (+ c_ULTIMATE.start_main_p4 1)) (.cse13 (+ c_ULTIMATE.start_main_p3 3)) (.cse11 (+ c_ULTIMATE.start_main_p5 1)) (.cse21 (+ c_ULTIMATE.start_main_p2 1)) (.cse12 (+ c_ULTIMATE.start_main_p3 1)) (.cse18 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse20 (+ c_ULTIMATE.start_main_p1 1)) (.cse14 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse11 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (or (= 0 (select |c_#memory_int| v_idx_145)) (<= .cse12 v_idx_145) (< v_idx_145 c_ULTIMATE.start_main_p3)) (<= .cse13 c_ULTIMATE.start_main_p6) (<= .cse14 c_ULTIMATE.start_malloc_ptr) (<= .cse15 c_ULTIMATE.start_main_p5) (<= .cse16 c_ULTIMATE.start_malloc_ptr) (or (<= .cse11 v_idx_149) (= (select |c_#memory_int| v_idx_149) 0) (< v_idx_149 c_ULTIMATE.start_main_p5)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (<= .cse17 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (or (< v_idx_135 c_ULTIMATE.start_main_p6) (<= .cse18 v_idx_135) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_135))) (<= .cse16 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (let ((.cse19 (select |c_#memory_int| v_idx_141))) (and (<= 0 .cse19) (<= 0 (* 2 .cse19)))) (<= .cse20 v_idx_141) (< v_idx_141 c_ULTIMATE.start_main_p1)) (<= .cse17 c_ULTIMATE.start_main_p6) (or (<= .cse18 v_idx_138) (= 1 (select |c_#valid| v_idx_138)) (< v_idx_138 c_ULTIMATE.start_main_p6)) (or (< v_idx_143 c_ULTIMATE.start_main_p2) (<= .cse21 v_idx_143) (= (select |c_#memory_int| v_idx_143) 0)) (or (= (select |c_#memory_int| v_idx_147) 0) (< v_idx_147 c_ULTIMATE.start_main_p4) (<= .cse15 v_idx_147)) (<= .cse13 c_ULTIMATE.start_malloc_ptr) (<= .cse11 c_ULTIMATE.start_main_p6) (<= .cse21 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse12 c_ULTIMATE.start_main_p4) (or (< v_idx_151 c_ULTIMATE.start_main_p6) (<= .cse18 v_idx_151) (= 0 (select |c_#memory_int| v_idx_151))) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse20 c_ULTIMATE.start_main_p2) (<= .cse14 c_ULTIMATE.start_main_p6))))) is different from false [2019-02-18 10:16:56,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-18 10:16:56,947 INFO L93 Difference]: Finished difference Result 17 states and 40 transitions. [2019-02-18 10:16:56,947 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-18 10:16:56,948 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-18 10:16:56,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-18 10:16:56,948 INFO L225 Difference]: With dead ends: 17 [2019-02-18 10:16:56,948 INFO L226 Difference]: Without dead ends: 16 [2019-02-18 10:16:56,949 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 67.1s TimeCoverageRelationStatistics Valid=7, Invalid=4, Unknown=3, NotChecked=6, Total=20 [2019-02-18 10:16:56,949 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states. [2019-02-18 10:16:56,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 15. [2019-02-18 10:16:56,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2019-02-18 10:16:56,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 32 transitions. [2019-02-18 10:16:56,955 INFO L78 Accepts]: Start accepts. Automaton has 15 states and 32 transitions. Word has length 3 [2019-02-18 10:16:56,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-18 10:16:56,955 INFO L480 AbstractCegarLoop]: Abstraction has 15 states and 32 transitions. [2019-02-18 10:16:56,955 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-18 10:16:56,955 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 32 transitions. [2019-02-18 10:16:56,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-18 10:16:56,956 INFO L394 BasicCegarLoop]: Found error trace [2019-02-18 10:16:56,956 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-18 10:16:56,956 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT]=== [2019-02-18 10:16:56,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:16:56,956 INFO L82 PathProgramCache]: Analyzing trace with hash 30500, now seen corresponding path program 1 times [2019-02-18 10:16:56,957 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-18 10:16:56,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:16:56,958 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-18 10:16:56,958 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:16:56,958 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-18 10:16:56,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-18 10:16:57,112 WARN L181 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 13 [2019-02-18 10:16:57,116 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-18 10:16:57,116 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-18 10:16:57,116 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-18 10:16:57,117 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-18 10:16:57,117 INFO L207 CegarAbsIntRunner]: [0], [22], [27] [2019-02-18 10:16:57,118 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-18 10:16:57,118 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-18 10:17:06,198 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-18 10:17:06,199 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-18 10:17:06,199 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:17:06,199 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-18 10:17:06,579 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-18 10:17:28,162 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_204 Int) (v_idx_202 Int) (v_idx_192 Int) (v_idx_208 Int) (v_idx_206 Int) (v_idx_195 Int) (v_idx_200 Int) (v_idx_198 Int)) (let ((.cse4 (+ c_ULTIMATE.start_main_p1 5)) (.cse6 (+ c_ULTIMATE.start_main_p2 4)) (.cse1 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse8 (+ c_ULTIMATE.start_main_p2 1)) (.cse7 (+ c_ULTIMATE.start_main_p3 1)) (.cse5 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 1)) (.cse9 (+ c_ULTIMATE.start_main_p1 1)) (.cse2 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse1 c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse3 c_ULTIMATE.start_main_p5) (<= .cse4 c_ULTIMATE.start_malloc_ptr) (or (<= .cse5 v_idx_192) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_192)) (< v_idx_192 c_ULTIMATE.start_main_p6)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (= 0 (select |c_#memory_int| v_idx_208)) (< v_idx_208 c_ULTIMATE.start_main_p6) (<= .cse5 v_idx_208)) (<= .cse6 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_202)) (<= .cse7 v_idx_202) (< v_idx_202 c_ULTIMATE.start_main_p3)) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse4 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (< v_idx_200 c_ULTIMATE.start_main_p2) (= 0 (select |c_#memory_int| v_idx_200)) (<= .cse8 v_idx_200)) (<= .cse6 c_ULTIMATE.start_main_p6) (or (< v_idx_198 c_ULTIMATE.start_main_p1) (<= .cse9 v_idx_198) (= 0 (select |c_#memory_int| v_idx_198))) (or (<= .cse0 v_idx_206) (let ((.cse10 (select |c_#memory_int| v_idx_206))) (and (<= 0 .cse10) (<= 0 (* 2 .cse10)))) (< v_idx_206 c_ULTIMATE.start_main_p5)) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse8 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse7 c_ULTIMATE.start_main_p4) (or (= 1 (select |c_#valid| v_idx_195)) (< v_idx_195 c_ULTIMATE.start_main_p6) (<= .cse5 v_idx_195)) (or (<= .cse3 v_idx_204) (< v_idx_204 c_ULTIMATE.start_main_p4) (= (select |c_#memory_int| v_idx_204) 0)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse9 c_ULTIMATE.start_main_p2) (<= .cse2 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:17:51,144 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_225 Int) (v_idx_214 Int) (v_idx_223 Int) (v_idx_219 Int) (v_idx_227 Int) (v_idx_217 Int) (v_idx_221 Int) (v_idx_211 Int)) (let ((.cse6 (+ c_ULTIMATE.start_main_p1 5)) (.cse5 (+ c_ULTIMATE.start_main_p4 1)) (.cse10 (+ c_ULTIMATE.start_main_p2 4)) (.cse2 (+ c_ULTIMATE.start_main_p3 3)) (.cse1 (+ c_ULTIMATE.start_main_p5 1)) (.cse4 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse8 (+ c_ULTIMATE.start_main_p2 1)) (.cse0 (+ c_ULTIMATE.start_main_p3 1)) (.cse9 (+ c_ULTIMATE.start_main_p1 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 2))) (and (or (<= .cse0 v_idx_221) (= 0 (select |c_#memory_int| v_idx_221)) (< v_idx_221 c_ULTIMATE.start_main_p3)) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_main_p6) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (or (<= .cse4 v_idx_211) (< v_idx_211 c_ULTIMATE.start_main_p6) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_211) 0)) (<= .cse5 c_ULTIMATE.start_main_p5) (<= .cse6 c_ULTIMATE.start_malloc_ptr) (or (<= .cse1 v_idx_225) (< v_idx_225 c_ULTIMATE.start_main_p5) (let ((.cse7 (select |c_#memory_int| v_idx_225))) (and (<= 0 (* 2 .cse7)) (<= 0 .cse7)))) (or (< v_idx_219 c_ULTIMATE.start_main_p2) (= 0 (select |c_#memory_int| v_idx_219)) (<= .cse8 v_idx_219)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (= 0 (select |c_#memory_int| v_idx_217)) (<= .cse9 v_idx_217) (< v_idx_217 c_ULTIMATE.start_main_p1)) (<= .cse10 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse6 c_ULTIMATE.start_main_p6) (or (< v_idx_214 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_214)) (<= .cse4 v_idx_214)) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (< v_idx_223 c_ULTIMATE.start_main_p4) (= (select |c_#memory_int| v_idx_223) 0) (<= .cse5 v_idx_223)) (<= .cse10 c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse1 c_ULTIMATE.start_main_p6) (or (<= .cse4 v_idx_227) (= (select |c_#memory_int| v_idx_227) 0) (< v_idx_227 c_ULTIMATE.start_main_p6)) (<= .cse8 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse0 c_ULTIMATE.start_main_p4) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse9 c_ULTIMATE.start_main_p2) (<= .cse3 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:17:51,396 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-18 10:17:51,396 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-18 10:17:51,397 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-18 10:17:51,397 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 4 [2019-02-18 10:17:51,397 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-18 10:17:51,397 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-18 10:17:51,397 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-18 10:17:51,397 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=3, Unknown=2, NotChecked=2, Total=12 [2019-02-18 10:17:51,398 INFO L87 Difference]: Start difference. First operand 15 states and 32 transitions. Second operand 4 states. [2019-02-18 10:18:05,985 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_idx_225 Int) (v_idx_214 Int) (v_idx_223 Int) (v_idx_219 Int) (v_idx_227 Int) (v_idx_217 Int) (v_idx_221 Int) (v_idx_211 Int)) (let ((.cse6 (+ c_ULTIMATE.start_main_p1 5)) (.cse5 (+ c_ULTIMATE.start_main_p4 1)) (.cse10 (+ c_ULTIMATE.start_main_p2 4)) (.cse2 (+ c_ULTIMATE.start_main_p3 3)) (.cse1 (+ c_ULTIMATE.start_main_p5 1)) (.cse4 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse8 (+ c_ULTIMATE.start_main_p2 1)) (.cse0 (+ c_ULTIMATE.start_main_p3 1)) (.cse9 (+ c_ULTIMATE.start_main_p1 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 2))) (and (or (<= .cse0 v_idx_221) (= 0 (select |c_#memory_int| v_idx_221)) (< v_idx_221 c_ULTIMATE.start_main_p3)) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_main_p6) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (or (<= .cse4 v_idx_211) (< v_idx_211 c_ULTIMATE.start_main_p6) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_211) 0)) (<= .cse5 c_ULTIMATE.start_main_p5) (<= .cse6 c_ULTIMATE.start_malloc_ptr) (or (<= .cse1 v_idx_225) (< v_idx_225 c_ULTIMATE.start_main_p5) (let ((.cse7 (select |c_#memory_int| v_idx_225))) (and (<= 0 (* 2 .cse7)) (<= 0 .cse7)))) (or (< v_idx_219 c_ULTIMATE.start_main_p2) (= 0 (select |c_#memory_int| v_idx_219)) (<= .cse8 v_idx_219)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (= 0 (select |c_#memory_int| v_idx_217)) (<= .cse9 v_idx_217) (< v_idx_217 c_ULTIMATE.start_main_p1)) (<= .cse10 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse6 c_ULTIMATE.start_main_p6) (or (< v_idx_214 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_214)) (<= .cse4 v_idx_214)) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (< v_idx_223 c_ULTIMATE.start_main_p4) (= (select |c_#memory_int| v_idx_223) 0) (<= .cse5 v_idx_223)) (<= .cse10 c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse1 c_ULTIMATE.start_main_p6) (or (<= .cse4 v_idx_227) (= (select |c_#memory_int| v_idx_227) 0) (< v_idx_227 c_ULTIMATE.start_main_p6)) (<= .cse8 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse0 c_ULTIMATE.start_main_p4) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse9 c_ULTIMATE.start_main_p2) (<= .cse3 c_ULTIMATE.start_main_p6)))) (forall ((v_idx_204 Int) (v_idx_202 Int) (v_idx_192 Int) (v_idx_208 Int) (v_idx_206 Int) (v_idx_195 Int) (v_idx_200 Int) (v_idx_198 Int)) (let ((.cse15 (+ c_ULTIMATE.start_main_p1 5)) (.cse17 (+ c_ULTIMATE.start_main_p2 4)) (.cse12 (+ c_ULTIMATE.start_main_p3 3)) (.cse11 (+ c_ULTIMATE.start_main_p5 1)) (.cse19 (+ c_ULTIMATE.start_main_p2 1)) (.cse18 (+ c_ULTIMATE.start_main_p3 1)) (.cse16 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse14 (+ c_ULTIMATE.start_main_p4 1)) (.cse20 (+ c_ULTIMATE.start_main_p1 1)) (.cse13 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse11 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse12 c_ULTIMATE.start_main_p6) (<= .cse13 c_ULTIMATE.start_malloc_ptr) (<= .cse14 c_ULTIMATE.start_main_p5) (<= .cse15 c_ULTIMATE.start_malloc_ptr) (or (<= .cse16 v_idx_192) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_192)) (< v_idx_192 c_ULTIMATE.start_main_p6)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (= 0 (select |c_#memory_int| v_idx_208)) (< v_idx_208 c_ULTIMATE.start_main_p6) (<= .cse16 v_idx_208)) (<= .cse17 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_202)) (<= .cse18 v_idx_202) (< v_idx_202 c_ULTIMATE.start_main_p3)) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse15 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (< v_idx_200 c_ULTIMATE.start_main_p2) (= 0 (select |c_#memory_int| v_idx_200)) (<= .cse19 v_idx_200)) (<= .cse17 c_ULTIMATE.start_main_p6) (or (< v_idx_198 c_ULTIMATE.start_main_p1) (<= .cse20 v_idx_198) (= 0 (select |c_#memory_int| v_idx_198))) (or (<= .cse11 v_idx_206) (let ((.cse21 (select |c_#memory_int| v_idx_206))) (and (<= 0 .cse21) (<= 0 (* 2 .cse21)))) (< v_idx_206 c_ULTIMATE.start_main_p5)) (<= .cse12 c_ULTIMATE.start_malloc_ptr) (<= .cse11 c_ULTIMATE.start_main_p6) (<= .cse19 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse18 c_ULTIMATE.start_main_p4) (or (= 1 (select |c_#valid| v_idx_195)) (< v_idx_195 c_ULTIMATE.start_main_p6) (<= .cse16 v_idx_195)) (or (<= .cse14 v_idx_204) (< v_idx_204 c_ULTIMATE.start_main_p4) (= (select |c_#memory_int| v_idx_204) 0)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse20 c_ULTIMATE.start_main_p2) (<= .cse13 c_ULTIMATE.start_main_p6))))) is different from false [2019-02-18 10:20:12,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-18 10:20:12,565 INFO L93 Difference]: Finished difference Result 17 states and 40 transitions. [2019-02-18 10:20:12,566 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-18 10:20:12,566 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-18 10:20:12,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-18 10:20:12,566 INFO L225 Difference]: With dead ends: 17 [2019-02-18 10:20:12,566 INFO L226 Difference]: Without dead ends: 16 [2019-02-18 10:20:12,567 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 59.3s TimeCoverageRelationStatistics Valid=7, Invalid=4, Unknown=3, NotChecked=6, Total=20 [2019-02-18 10:20:12,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states. [2019-02-18 10:20:12,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 15. [2019-02-18 10:20:12,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2019-02-18 10:20:12,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 32 transitions. [2019-02-18 10:20:12,573 INFO L78 Accepts]: Start accepts. Automaton has 15 states and 32 transitions. Word has length 3 [2019-02-18 10:20:12,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-18 10:20:12,574 INFO L480 AbstractCegarLoop]: Abstraction has 15 states and 32 transitions. [2019-02-18 10:20:12,574 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-18 10:20:12,574 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 32 transitions. [2019-02-18 10:20:12,574 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-18 10:20:12,575 INFO L394 BasicCegarLoop]: Found error trace [2019-02-18 10:20:12,575 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-18 10:20:12,575 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT]=== [2019-02-18 10:20:12,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:20:12,575 INFO L82 PathProgramCache]: Analyzing trace with hash 30562, now seen corresponding path program 1 times [2019-02-18 10:20:12,575 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-18 10:20:12,576 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:20:12,576 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-18 10:20:12,576 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-18 10:20:12,576 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-18 10:20:12,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-18 10:20:12,647 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-18 10:20:12,648 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-18 10:20:12,648 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-18 10:20:12,648 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-18 10:20:12,648 INFO L207 CegarAbsIntRunner]: [0], [24], [27] [2019-02-18 10:20:12,649 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-18 10:20:12,649 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-18 10:20:21,010 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-18 10:20:21,010 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-18 10:20:21,010 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-18 10:20:21,011 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-18 10:20:21,377 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-18 10:20:43,999 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_278 Int) (v_idx_268 Int) (v_idx_280 Int) (v_idx_284 Int) (v_idx_271 Int) (v_idx_282 Int) (v_idx_276 Int) (v_idx_274 Int)) (let ((.cse5 (+ c_ULTIMATE.start_main_p1 5)) (.cse4 (+ c_ULTIMATE.start_main_p4 1)) (.cse8 (+ c_ULTIMATE.start_main_p2 4)) (.cse1 (+ c_ULTIMATE.start_main_p3 3)) (.cse9 (+ c_ULTIMATE.start_main_p2 1)) (.cse2 (+ c_ULTIMATE.start_main_p3 1)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 2)) (.cse10 (+ c_ULTIMATE.start_main_p1 1)) (.cse6 (+ c_ULTIMATE.start_malloc_ptr 1))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse1 c_ULTIMATE.start_main_p6) (or (<= .cse2 v_idx_278) (< v_idx_278 c_ULTIMATE.start_main_p3) (= 0 (select |c_#memory_int| v_idx_278))) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (<= .cse4 c_ULTIMATE.start_main_p5) (<= .cse5 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (<= .cse6 v_idx_284) (let ((.cse7 (select |c_#memory_int| v_idx_284))) (and (<= (* 2 .cse7) 0) (<= .cse7 0))) (< v_idx_284 c_ULTIMATE.start_main_p6)) (<= .cse8 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_276)) (<= .cse9 v_idx_276) (< v_idx_276 c_ULTIMATE.start_main_p2)) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse5 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (= 0 (select |c_#memory_int| v_idx_280)) (<= .cse4 v_idx_280) (< v_idx_280 c_ULTIMATE.start_main_p4)) (<= .cse8 c_ULTIMATE.start_main_p6) (or (= 1 (select |c_#valid| v_idx_271)) (< v_idx_271 c_ULTIMATE.start_main_p6) (<= .cse6 v_idx_271)) (<= .cse1 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (<= .cse9 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse2 c_ULTIMATE.start_main_p4) (or (= (select |c_#memory_int| v_idx_282) 0) (<= .cse0 v_idx_282) (< v_idx_282 c_ULTIMATE.start_main_p5)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse10 c_ULTIMATE.start_main_p2) (<= .cse3 c_ULTIMATE.start_main_p6) (or (< v_idx_274 c_ULTIMATE.start_main_p1) (<= .cse10 v_idx_274) (= 0 (select |c_#memory_int| v_idx_274))) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_268) 0) (< v_idx_268 c_ULTIMATE.start_main_p6) (<= .cse6 v_idx_268))))) is different from false [2019-02-18 10:21:07,647 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_303 Int) (v_idx_301 Int) (v_idx_290 Int) (v_idx_295 Int) (v_idx_293 Int) (v_idx_287 Int) (v_idx_299 Int) (v_idx_297 Int)) (let ((.cse1 (+ c_ULTIMATE.start_main_p4 1)) (.cse5 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse4 (+ c_ULTIMATE.start_main_p1 5)) (.cse7 (+ c_ULTIMATE.start_main_p2 4)) (.cse2 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse9 (+ c_ULTIMATE.start_main_p2 1)) (.cse8 (+ c_ULTIMATE.start_main_p3 1)) (.cse10 (+ c_ULTIMATE.start_main_p1 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_299 c_ULTIMATE.start_main_p4) (<= .cse1 v_idx_299) (= 0 (select |c_#memory_int| v_idx_299))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_main_p6) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (<= .cse1 c_ULTIMATE.start_main_p5) (<= .cse4 c_ULTIMATE.start_malloc_ptr) (or (<= .cse0 v_idx_301) (< v_idx_301 c_ULTIMATE.start_main_p5) (= (select |c_#memory_int| v_idx_301) 0)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (<= .cse5 v_idx_287) (< v_idx_287 c_ULTIMATE.start_main_p6) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_287))) (or (let ((.cse6 (select |c_#memory_int| v_idx_303))) (and (<= .cse6 0) (<= (* 2 .cse6) 0))) (< v_idx_303 c_ULTIMATE.start_main_p6) (<= .cse5 v_idx_303)) (<= .cse7 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (or (< v_idx_290 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_290)) (<= .cse5 v_idx_290)) (<= .cse4 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse7 c_ULTIMATE.start_main_p6) (or (< v_idx_297 c_ULTIMATE.start_main_p3) (<= .cse8 v_idx_297) (= 0 (select |c_#memory_int| v_idx_297))) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (or (<= .cse9 v_idx_295) (= 0 (select |c_#memory_int| v_idx_295)) (< v_idx_295 c_ULTIMATE.start_main_p2)) (<= .cse9 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse8 c_ULTIMATE.start_main_p4) (or (< v_idx_293 c_ULTIMATE.start_main_p1) (= 0 (select |c_#memory_int| v_idx_293)) (<= .cse10 v_idx_293)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse10 c_ULTIMATE.start_main_p2) (<= .cse3 c_ULTIMATE.start_main_p6)))) is different from false [2019-02-18 10:21:07,911 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-18 10:21:07,911 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-18 10:21:07,911 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-18 10:21:07,911 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 4 [2019-02-18 10:21:07,911 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-18 10:21:07,912 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-18 10:21:07,912 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-18 10:21:07,912 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=3, Unknown=2, NotChecked=2, Total=12 [2019-02-18 10:21:07,912 INFO L87 Difference]: Start difference. First operand 15 states and 32 transitions. Second operand 4 states. [2019-02-18 10:21:27,110 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_idx_303 Int) (v_idx_301 Int) (v_idx_290 Int) (v_idx_295 Int) (v_idx_293 Int) (v_idx_287 Int) (v_idx_299 Int) (v_idx_297 Int)) (let ((.cse1 (+ c_ULTIMATE.start_main_p4 1)) (.cse5 (+ c_ULTIMATE.start_malloc_ptr 1)) (.cse4 (+ c_ULTIMATE.start_main_p1 5)) (.cse7 (+ c_ULTIMATE.start_main_p2 4)) (.cse2 (+ c_ULTIMATE.start_main_p3 3)) (.cse0 (+ c_ULTIMATE.start_main_p5 1)) (.cse9 (+ c_ULTIMATE.start_main_p2 1)) (.cse8 (+ c_ULTIMATE.start_main_p3 1)) (.cse10 (+ c_ULTIMATE.start_main_p1 1)) (.cse3 (+ c_ULTIMATE.start_main_p4 2))) (and (<= .cse0 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_299 c_ULTIMATE.start_main_p4) (<= .cse1 v_idx_299) (= 0 (select |c_#memory_int| v_idx_299))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse2 c_ULTIMATE.start_main_p6) (<= .cse3 c_ULTIMATE.start_malloc_ptr) (<= .cse1 c_ULTIMATE.start_main_p5) (<= .cse4 c_ULTIMATE.start_malloc_ptr) (or (<= .cse0 v_idx_301) (< v_idx_301 c_ULTIMATE.start_main_p5) (= (select |c_#memory_int| v_idx_301) 0)) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (<= .cse5 v_idx_287) (< v_idx_287 c_ULTIMATE.start_main_p6) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_287))) (or (let ((.cse6 (select |c_#memory_int| v_idx_303))) (and (<= .cse6 0) (<= (* 2 .cse6) 0))) (< v_idx_303 c_ULTIMATE.start_main_p6) (<= .cse5 v_idx_303)) (<= .cse7 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (or (< v_idx_290 c_ULTIMATE.start_main_p6) (= 1 (select |c_#valid| v_idx_290)) (<= .cse5 v_idx_290)) (<= .cse4 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (<= .cse7 c_ULTIMATE.start_main_p6) (or (< v_idx_297 c_ULTIMATE.start_main_p3) (<= .cse8 v_idx_297) (= 0 (select |c_#memory_int| v_idx_297))) (<= .cse2 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_main_p6) (or (<= .cse9 v_idx_295) (= 0 (select |c_#memory_int| v_idx_295)) (< v_idx_295 c_ULTIMATE.start_main_p2)) (<= .cse9 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse8 c_ULTIMATE.start_main_p4) (or (< v_idx_293 c_ULTIMATE.start_main_p1) (= 0 (select |c_#memory_int| v_idx_293)) (<= .cse10 v_idx_293)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse10 c_ULTIMATE.start_main_p2) (<= .cse3 c_ULTIMATE.start_main_p6)))) (forall ((v_idx_278 Int) (v_idx_268 Int) (v_idx_280 Int) (v_idx_284 Int) (v_idx_271 Int) (v_idx_282 Int) (v_idx_276 Int) (v_idx_274 Int)) (let ((.cse16 (+ c_ULTIMATE.start_main_p1 5)) (.cse15 (+ c_ULTIMATE.start_main_p4 1)) (.cse19 (+ c_ULTIMATE.start_main_p2 4)) (.cse12 (+ c_ULTIMATE.start_main_p3 3)) (.cse20 (+ c_ULTIMATE.start_main_p2 1)) (.cse13 (+ c_ULTIMATE.start_main_p3 1)) (.cse11 (+ c_ULTIMATE.start_main_p5 1)) (.cse14 (+ c_ULTIMATE.start_main_p4 2)) (.cse21 (+ c_ULTIMATE.start_main_p1 1)) (.cse17 (+ c_ULTIMATE.start_malloc_ptr 1))) (and (<= .cse11 c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p6) (<= .cse12 c_ULTIMATE.start_main_p6) (or (<= .cse13 v_idx_278) (< v_idx_278 c_ULTIMATE.start_main_p3) (= 0 (select |c_#memory_int| v_idx_278))) (<= .cse14 c_ULTIMATE.start_malloc_ptr) (<= .cse15 c_ULTIMATE.start_main_p5) (<= .cse16 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 3) c_ULTIMATE.start_main_p5) (or (<= .cse17 v_idx_284) (let ((.cse18 (select |c_#memory_int| v_idx_284))) (and (<= (* 2 .cse18) 0) (<= .cse18 0))) (< v_idx_284 c_ULTIMATE.start_main_p6)) (<= .cse19 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_276)) (<= .cse20 v_idx_276) (< v_idx_276 c_ULTIMATE.start_main_p2)) (<= (+ c_ULTIMATE.start_main_p3 2) c_ULTIMATE.start_main_p5) (<= (+ c_ULTIMATE.start_main_p1 3) c_ULTIMATE.start_main_p4) (<= .cse16 c_ULTIMATE.start_main_p6) (<= (+ c_ULTIMATE.start_main_p1 2) c_ULTIMATE.start_main_p3) (or (= 0 (select |c_#memory_int| v_idx_280)) (<= .cse15 v_idx_280) (< v_idx_280 c_ULTIMATE.start_main_p4)) (<= .cse19 c_ULTIMATE.start_main_p6) (or (= 1 (select |c_#valid| v_idx_271)) (< v_idx_271 c_ULTIMATE.start_main_p6) (<= .cse17 v_idx_271)) (<= .cse12 c_ULTIMATE.start_malloc_ptr) (<= .cse11 c_ULTIMATE.start_main_p6) (<= .cse20 c_ULTIMATE.start_main_p3) (<= (+ c_ULTIMATE.start_main_p2 2) c_ULTIMATE.start_main_p4) (<= (+ c_ULTIMATE.start_main_p1 4) c_ULTIMATE.start_main_p5) (<= .cse13 c_ULTIMATE.start_main_p4) (or (= (select |c_#memory_int| v_idx_282) 0) (<= .cse11 v_idx_282) (< v_idx_282 c_ULTIMATE.start_main_p5)) (<= c_ULTIMATE.start_main_p6 c_ULTIMATE.start_malloc_ptr) (<= .cse21 c_ULTIMATE.start_main_p2) (<= .cse14 c_ULTIMATE.start_main_p6) (or (< v_idx_274 c_ULTIMATE.start_main_p1) (<= .cse21 v_idx_274) (= 0 (select |c_#memory_int| v_idx_274))) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_268) 0) (< v_idx_268 c_ULTIMATE.start_main_p6) (<= .cse17 v_idx_268)))))) is different from false