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_compound_exp_cong.epf -i ../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/HierarchicalTraceAbstraction/SkatingStrawberry.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-0302a3f [2019-02-27 12:57:01,481 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-27 12:57:01,483 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-27 12:57:01,498 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-27 12:57:01,499 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-27 12:57:01,500 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-27 12:57:01,502 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-27 12:57:01,504 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-27 12:57:01,506 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-27 12:57:01,507 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-27 12:57:01,509 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-27 12:57:01,509 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-27 12:57:01,512 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-27 12:57:01,513 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-27 12:57:01,514 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-27 12:57:01,514 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-27 12:57:01,515 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-27 12:57:01,517 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-27 12:57:01,519 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-27 12:57:01,520 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-27 12:57:01,521 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-27 12:57:01,522 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-27 12:57:01,524 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-27 12:57:01,525 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-27 12:57:01,525 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-27 12:57:01,526 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-27 12:57:01,526 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-27 12:57:01,527 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-27 12:57:01,528 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-27 12:57:01,529 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-27 12:57:01,529 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-27 12:57:01,530 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-27 12:57:01,530 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-27 12:57:01,530 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-27 12:57:01,531 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-27 12:57:01,532 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-27 12:57:01,532 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf [2019-02-27 12:57:01,544 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-27 12:57:01,544 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-27 12:57:01,545 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-27 12:57:01,545 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-27 12:57:01,546 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-27 12:57:01,546 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-27 12:57:01,546 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-27 12:57:01,546 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-27 12:57:01,546 INFO L133 SettingsManager]: * Explicit value domain=true [2019-02-27 12:57:01,547 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-27 12:57:01,547 INFO L133 SettingsManager]: * Octagon Domain=false [2019-02-27 12:57:01,547 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2019-02-27 12:57:01,547 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-27 12:57:01,547 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-27 12:57:01,548 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-27 12:57:01,548 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-27 12:57:01,549 INFO L133 SettingsManager]: * Use SBE=true [2019-02-27 12:57:01,549 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-27 12:57:01,550 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-27 12:57:01,550 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-27 12:57:01,550 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-27 12:57:01,550 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-27 12:57:01,550 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-27 12:57:01,550 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-27 12:57:01,551 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-27 12:57:01,552 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-27 12:57:01,552 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-27 12:57:01,552 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-27 12:57:01,552 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-27 12:57:01,552 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-27 12:57:01,553 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-27 12:57:01,553 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-27 12:57:01,553 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-27 12:57:01,553 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-27 12:57:01,554 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-27 12:57:01,554 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-27 12:57:01,554 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-27 12:57:01,554 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-02-27 12:57:01,554 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-27 12:57:01,554 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-27 12:57:01,599 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-27 12:57:01,613 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-27 12:57:01,620 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-27 12:57:01,622 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-27 12:57:01,622 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-27 12:57:01,623 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/HierarchicalTraceAbstraction/SkatingStrawberry.bpl [2019-02-27 12:57:01,623 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/HierarchicalTraceAbstraction/SkatingStrawberry.bpl' [2019-02-27 12:57:01,666 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-27 12:57:01,668 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-27 12:57:01,669 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-27 12:57:01,669 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-27 12:57:01,669 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-27 12:57:01,687 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,696 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,704 WARN L165 Inliner]: Program contained no entry procedure! [2019-02-27 12:57:01,704 WARN L168 Inliner]: Missing entry procedures: [ULTIMATE.start] [2019-02-27 12:57:01,705 WARN L175 Inliner]: Fallback enabled. All procedures will be processed. [2019-02-27 12:57:01,707 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-27 12:57:01,708 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-27 12:57:01,708 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-27 12:57:01,708 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-27 12:57:01,719 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,720 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,720 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,721 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,726 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,731 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,733 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... [2019-02-27 12:57:01,734 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-27 12:57:01,738 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-27 12:57:01,738 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-27 12:57:01,738 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-27 12:57:01,739 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-27 12:57:01,802 INFO L124 BoogieDeclarations]: Specification and implementation of procedure main given in one single declaration [2019-02-27 12:57:01,802 INFO L130 BoogieDeclarations]: Found specification of procedure main [2019-02-27 12:57:01,802 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2019-02-27 12:57:02,095 INFO L278 CfgBuilder]: Using library mode [2019-02-27 12:57:02,096 INFO L286 CfgBuilder]: Removed 1 assue(true) statements. [2019-02-27 12:57:02,097 INFO L202 PluginConnector]: Adding new model SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.02 12:57:02 BoogieIcfgContainer [2019-02-27 12:57:02,097 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-27 12:57:02,098 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-27 12:57:02,098 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-27 12:57:02,103 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-27 12:57:02,103 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 27.02 12:57:01" (1/2) ... [2019-02-27 12:57:02,104 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a083017 and model type SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.02 12:57:02, skipping insertion in model container [2019-02-27 12:57:02,104 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.02 12:57:02" (2/2) ... [2019-02-27 12:57:02,106 INFO L112 eAbstractionObserver]: Analyzing ICFG SkatingStrawberry.bpl [2019-02-27 12:57:02,115 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-27 12:57:02,123 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2019-02-27 12:57:02,139 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2019-02-27 12:57:02,169 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-27 12:57:02,169 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-27 12:57:02,169 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-27 12:57:02,169 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-27 12:57:02,170 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-27 12:57:02,170 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-27 12:57:02,170 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-27 12:57:02,170 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-27 12:57:02,184 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states. [2019-02-27 12:57:02,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-27 12:57:02,190 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:57:02,191 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-27 12:57:02,193 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:57:02,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:57:02,199 INFO L82 PathProgramCache]: Analyzing trace with hash 30048, now seen corresponding path program 1 times [2019-02-27 12:57:02,201 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:57:02,248 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:02,248 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:57:02,248 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:02,248 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:57:02,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:02,700 INFO L273 TraceCheckUtils]: 0: Hoare triple {9#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {11#(and (= 1000 (select main_a main_x)) (= (select main_a main_y) 0))} is VALID [2019-02-27 12:57:02,705 INFO L273 TraceCheckUtils]: 1: Hoare triple {11#(and (= 1000 (select main_a main_x)) (= (select main_a main_y) 0))} assume a[x] == 0; {12#(= (select main_a main_y) 1000)} is VALID [2019-02-27 12:57:02,706 INFO L273 TraceCheckUtils]: 2: Hoare triple {12#(= (select main_a main_y) 1000)} assume !(a[y] == 1000); {10#false} is VALID [2019-02-27 12:57:02,708 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-27 12:57:02,710 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-27 12:57:02,710 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2019-02-27 12:57:02,710 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-27 12:57:02,715 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-27 12:57:02,717 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:57:02,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-27 12:57:02,748 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-27 12:57:02,748 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-27 12:57:02,755 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-27 12:57:02,755 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2019-02-27 12:57:02,757 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 4 states. [2019-02-27 12:57:03,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:03,031 INFO L93 Difference]: Finished difference Result 15 states and 15 transitions. [2019-02-27 12:57:03,031 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-27 12:57:03,032 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-27 12:57:03,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:57:03,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 12:57:03,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 15 transitions. [2019-02-27 12:57:03,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-27 12:57:03,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 15 transitions. [2019-02-27 12:57:03,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 15 transitions. [2019-02-27 12:57:03,211 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-27 12:57:03,223 INFO L225 Difference]: With dead ends: 15 [2019-02-27 12:57:03,223 INFO L226 Difference]: Without dead ends: 5 [2019-02-27 12:57:03,261 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2019-02-27 12:57:03,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5 states. [2019-02-27 12:57:03,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5 to 5. [2019-02-27 12:57:03,359 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:57:03,360 INFO L82 GeneralOperation]: Start isEquivalent. First operand 5 states. Second operand 5 states. [2019-02-27 12:57:03,360 INFO L74 IsIncluded]: Start isIncluded. First operand 5 states. Second operand 5 states. [2019-02-27 12:57:03,360 INFO L87 Difference]: Start difference. First operand 5 states. Second operand 5 states. [2019-02-27 12:57:03,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:03,364 INFO L93 Difference]: Finished difference Result 5 states and 5 transitions. [2019-02-27 12:57:03,364 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2019-02-27 12:57:03,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:57:03,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:57:03,365 INFO L74 IsIncluded]: Start isIncluded. First operand 5 states. Second operand 5 states. [2019-02-27 12:57:03,366 INFO L87 Difference]: Start difference. First operand 5 states. Second operand 5 states. [2019-02-27 12:57:03,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:03,369 INFO L93 Difference]: Finished difference Result 5 states and 5 transitions. [2019-02-27 12:57:03,370 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2019-02-27 12:57:03,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:57:03,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:57:03,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:57:03,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:57:03,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2019-02-27 12:57:03,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 5 transitions. [2019-02-27 12:57:03,377 INFO L78 Accepts]: Start accepts. Automaton has 5 states and 5 transitions. Word has length 3 [2019-02-27 12:57:03,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:57:03,378 INFO L480 AbstractCegarLoop]: Abstraction has 5 states and 5 transitions. [2019-02-27 12:57:03,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-27 12:57:03,378 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2019-02-27 12:57:03,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-27 12:57:03,379 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:57:03,379 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-27 12:57:03,380 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:57:03,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:57:03,381 INFO L82 PathProgramCache]: Analyzing trace with hash 927622, now seen corresponding path program 1 times [2019-02-27 12:57:03,381 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:57:03,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:03,386 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:57:03,386 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:03,386 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:57:03,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:04,017 WARN L181 SmtUtils]: Spent 265.00 ms on a formula simplification. DAG size of input: 25 DAG size of output: 18 [2019-02-27 12:57:04,103 INFO L273 TraceCheckUtils]: 0: Hoare triple {49#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {51#(and (<= (+ main_x 1) main_y) (= (select main_a main_x) 1000) (or (< (div (+ main_y 1) 256) (+ (div (+ main_x 1) 256) 1)) (<= main_y (+ main_x 1))))} is VALID [2019-02-27 12:57:04,107 INFO L273 TraceCheckUtils]: 1: Hoare triple {51#(and (<= (+ main_x 1) main_y) (= (select main_a main_x) 1000) (or (< (div (+ main_y 1) 256) (+ (div (+ main_x 1) 256) 1)) (<= main_y (+ main_x 1))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {52#(= (select main_a main_x) 1000)} is VALID [2019-02-27 12:57:04,110 INFO L273 TraceCheckUtils]: 2: Hoare triple {52#(= (select main_a main_x) 1000)} assume a[x] == 0; {50#false} is VALID [2019-02-27 12:57:04,111 INFO L273 TraceCheckUtils]: 3: Hoare triple {50#false} assume !(a[y] == 1000); {50#false} is VALID [2019-02-27 12:57:04,113 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-27 12:57:04,113 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:57:04,114 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:57:04,116 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-27 12:57:04,120 INFO L207 CegarAbsIntRunner]: [0], [4], [8], [9] [2019-02-27 12:57:04,186 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-27 12:57:04,187 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-27 12:57:04,310 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-27 12:57:04,312 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 22 root evaluator evaluations with a maximum evaluation depth of 3. Performed 22 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-27 12:57:04,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:57:04,321 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-27 12:57:04,322 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:57:04,322 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 12:57:04,337 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:57:04,337 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:57:04,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:04,356 WARN L254 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 12 conjunts are in the unsatisfiable core [2019-02-27 12:57:04,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:04,373 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:57:04,505 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2019-02-27 12:57:04,621 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:04,625 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 15 [2019-02-27 12:57:04,631 INFO L301 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:04,654 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:04,663 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:04,664 INFO L208 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:16 [2019-02-27 12:57:04,670 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:04,671 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_11]. (and (= main_a (store (store v_main_a_11 main_x 1000) main_y 0)) (= main_y (+ main_x 1))) [2019-02-27 12:57:04,671 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1))) [2019-02-27 12:57:04,999 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,031 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,115 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 34 treesize of output 52 [2019-02-27 12:57:05,173 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,192 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,208 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 64 [2019-02-27 12:57:05,228 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:05,665 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,668 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,672 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,675 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,682 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,694 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 80 [2019-02-27 12:57:05,701 INFO L301 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:05,791 INFO L301 ElimStorePlain]: Start of recursive call 3: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:05,871 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,877 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,894 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 33 treesize of output 51 [2019-02-27 12:57:05,936 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:05,943 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 60 [2019-02-27 12:57:05,962 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:06,080 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,083 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,121 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,130 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,133 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,137 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:06,140 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 76 [2019-02-27 12:57:06,151 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:06,255 INFO L301 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:06,352 INFO L301 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 4 xjuncts. [2019-02-27 12:57:06,450 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2019-02-27 12:57:06,556 INFO L208 ElimStorePlain]: Needed 8 recursive calls to eliminate 3 variables, input treesize:42, output treesize:72 [2019-02-27 12:57:08,851 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:08,852 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_12, main_xold, main_yold]. (let ((.cse0 (+ main_xold 1)) (.cse2 (select v_main_a_12 main_xold))) (and (= (select v_main_a_12 .cse0) 0) (= main_x (mod .cse0 256)) (= (let ((.cse1 (store v_main_a_12 main_x .cse2))) (store .cse1 (mod (+ main_xold 2) 256) (select .cse1 main_yold))) main_a) (= .cse2 1000))) [2019-02-27 12:57:08,852 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [main_xold, main_yold, v_prenex_4]. (let ((.cse1 (select main_a main_x))) (or (let ((.cse0 (select main_a (+ main_x (- 1))))) (and (= main_x (mod main_x 256)) (= 1000 .cse0) (= (select main_a (mod (+ main_x 1) 256)) (select main_a v_prenex_4)) (= .cse1 .cse0))) (let ((.cse2 (select main_a main_xold)) (.cse3 (+ main_xold 1))) (and (= (select main_a (mod (+ main_xold 2) 256)) (select main_a main_yold)) (= .cse1 .cse2) (= 0 (select main_a .cse3)) (= .cse2 1000) (= main_x (mod .cse3 256)))))) [2019-02-27 12:57:09,113 WARN L181 SmtUtils]: Spent 138.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 34 [2019-02-27 12:57:09,246 INFO L273 TraceCheckUtils]: 0: Hoare triple {49#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {56#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} is VALID [2019-02-27 12:57:11,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {56#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {60#(or (exists ((main_xold Int) (main_yold Int)) (and (= (select main_a (mod (+ main_xold 2) 256)) (select main_a main_yold)) (= (select main_a main_x) (select main_a main_xold)) (= 0 (select main_a (+ main_xold 1))) (= (select main_a main_xold) 1000) (= main_x (mod (+ main_xold 1) 256)))) (and (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} is UNKNOWN [2019-02-27 12:57:11,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {60#(or (exists ((main_xold Int) (main_yold Int)) (and (= (select main_a (mod (+ main_xold 2) 256)) (select main_a main_yold)) (= (select main_a main_x) (select main_a main_xold)) (= 0 (select main_a (+ main_xold 1))) (= (select main_a main_xold) 1000) (= main_x (mod (+ main_xold 1) 256)))) (and (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} assume a[x] == 0; {50#false} is VALID [2019-02-27 12:57:11,310 INFO L273 TraceCheckUtils]: 3: Hoare triple {50#false} assume !(a[y] == 1000); {50#false} is VALID [2019-02-27 12:57:11,311 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-27 12:57:11,311 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:57:11,407 INFO L273 TraceCheckUtils]: 3: Hoare triple {50#false} assume !(a[y] == 1000); {50#false} is VALID [2019-02-27 12:57:11,409 INFO L273 TraceCheckUtils]: 2: Hoare triple {70#(not (= (select main_a main_x) 0))} assume a[x] == 0; {50#false} is VALID [2019-02-27 12:57:11,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {74#(forall ((v_main_yold_2 Int)) (not (= 0 (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) v_main_yold_2)) (mod (+ main_x 1) 256)))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {70#(not (= (select main_a main_x) 0))} is VALID [2019-02-27 12:57:11,418 INFO L273 TraceCheckUtils]: 0: Hoare triple {49#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {74#(forall ((v_main_yold_2 Int)) (not (= 0 (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) v_main_yold_2)) (mod (+ main_x 1) 256)))))} is VALID [2019-02-27 12:57:11,420 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-27 12:57:11,444 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:57:11,445 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 7 [2019-02-27 12:57:11,445 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:57:11,447 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 12:57:11,447 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:57:11,447 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-27 12:57:13,512 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 6 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2019-02-27 12:57:13,513 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-27 12:57:13,513 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-27 12:57:13,514 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:57:13,514 INFO L87 Difference]: Start difference. First operand 5 states and 5 transitions. Second operand 6 states. [2019-02-27 12:57:17,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:17,636 INFO L93 Difference]: Finished difference Result 8 states and 8 transitions. [2019-02-27 12:57:17,637 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-27 12:57:17,637 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-27 12:57:17,637 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:57:17,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:57:17,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 8 transitions. [2019-02-27 12:57:17,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:57:17,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 8 transitions. [2019-02-27 12:57:17,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 8 transitions. [2019-02-27 12:57:19,681 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 7 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2019-02-27 12:57:19,682 INFO L225 Difference]: With dead ends: 8 [2019-02-27 12:57:19,682 INFO L226 Difference]: Without dead ends: 6 [2019-02-27 12:57:19,683 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-27 12:57:19,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 6 states. [2019-02-27 12:57:19,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 6 to 6. [2019-02-27 12:57:19,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:57:19,692 INFO L82 GeneralOperation]: Start isEquivalent. First operand 6 states. Second operand 6 states. [2019-02-27 12:57:19,692 INFO L74 IsIncluded]: Start isIncluded. First operand 6 states. Second operand 6 states. [2019-02-27 12:57:19,692 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 6 states. [2019-02-27 12:57:19,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:19,694 INFO L93 Difference]: Finished difference Result 6 states and 6 transitions. [2019-02-27 12:57:19,694 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 6 transitions. [2019-02-27 12:57:19,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:57:19,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:57:19,695 INFO L74 IsIncluded]: Start isIncluded. First operand 6 states. Second operand 6 states. [2019-02-27 12:57:19,695 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 6 states. [2019-02-27 12:57:19,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:19,696 INFO L93 Difference]: Finished difference Result 6 states and 6 transitions. [2019-02-27 12:57:19,696 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 6 transitions. [2019-02-27 12:57:19,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:57:19,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:57:19,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:57:19,697 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:57:19,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-27 12:57:19,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 6 transitions. [2019-02-27 12:57:19,699 INFO L78 Accepts]: Start accepts. Automaton has 6 states and 6 transitions. Word has length 4 [2019-02-27 12:57:19,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:57:19,699 INFO L480 AbstractCegarLoop]: Abstraction has 6 states and 6 transitions. [2019-02-27 12:57:19,699 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-27 12:57:19,700 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 6 transitions. [2019-02-27 12:57:19,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-27 12:57:19,700 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:57:19,700 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2019-02-27 12:57:19,700 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:57:19,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:57:19,701 INFO L82 PathProgramCache]: Analyzing trace with hash 28752416, now seen corresponding path program 2 times [2019-02-27 12:57:19,701 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:57:19,702 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:19,702 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:57:19,702 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:19,702 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:57:19,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:19,972 INFO L273 TraceCheckUtils]: 0: Hoare triple {109#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {111#(and (= 1000 (select main_a main_x)) (<= (+ main_x 1) main_y) (<= main_y (+ main_x 1)))} is VALID [2019-02-27 12:57:19,983 INFO L273 TraceCheckUtils]: 1: Hoare triple {111#(and (= 1000 (select main_a main_x)) (<= (+ main_x 1) main_y) (<= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {112#(and (= 1000 (select main_a main_x)) (or (<= (+ main_y (* 256 (div (+ main_x 1) 256)) 255) (+ (* 256 (div (+ main_y 1) 256)) main_x)) (<= (+ (* 256 (div (+ main_y 1) 256)) main_x 1) (+ main_y (* 256 (div (+ main_x 1) 256))))))} is VALID [2019-02-27 12:57:19,985 INFO L273 TraceCheckUtils]: 2: Hoare triple {112#(and (= 1000 (select main_a main_x)) (or (<= (+ main_y (* 256 (div (+ main_x 1) 256)) 255) (+ (* 256 (div (+ main_y 1) 256)) main_x)) (<= (+ (* 256 (div (+ main_y 1) 256)) main_x 1) (+ main_y (* 256 (div (+ main_x 1) 256))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {113#(= 1000 (select main_a main_x))} is VALID [2019-02-27 12:57:19,986 INFO L273 TraceCheckUtils]: 3: Hoare triple {113#(= 1000 (select main_a main_x))} assume a[x] == 0; {110#false} is VALID [2019-02-27 12:57:19,986 INFO L273 TraceCheckUtils]: 4: Hoare triple {110#false} assume !(a[y] == 1000); {110#false} is VALID [2019-02-27 12:57:19,987 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-27 12:57:19,987 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:57:19,987 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:57:19,987 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 12:57:19,987 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 12:57:19,987 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:57:19,988 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 12:57:20,000 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-27 12:57:20,001 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-27 12:57:20,014 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-27 12:57:20,014 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 12:57:20,015 WARN L254 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 19 conjunts are in the unsatisfiable core [2019-02-27 12:57:20,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:20,027 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:57:20,084 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2019-02-27 12:57:20,103 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,104 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 15 [2019-02-27 12:57:20,112 INFO L301 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,120 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,130 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,131 INFO L208 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:16 [2019-02-27 12:57:20,134 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:20,134 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_14]. (and (= (store (store v_main_a_14 main_x 1000) main_y 0) main_a) (= main_y (+ main_x 1))) [2019-02-27 12:57:20,134 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1))) [2019-02-27 12:57:20,185 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,186 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,202 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 29 treesize of output 47 [2019-02-27 12:57:20,227 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,229 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,231 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,232 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,235 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,238 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 60 [2019-02-27 12:57:20,242 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,313 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,314 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,315 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,318 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 42 [2019-02-27 12:57:20,320 INFO L301 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,376 INFO L301 ElimStorePlain]: Start of recursive call 3: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:20,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,443 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,477 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 30 treesize of output 48 [2019-02-27 12:57:20,518 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,520 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,530 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 52 [2019-02-27 12:57:20,538 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,656 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,658 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,660 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,662 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,666 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,668 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:20,682 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 32 treesize of output 64 [2019-02-27 12:57:20,687 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:20,740 INFO L301 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:20,793 INFO L301 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2019-02-27 12:57:20,852 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2019-02-27 12:57:20,852 INFO L208 ElimStorePlain]: Needed 8 recursive calls to eliminate 3 variables, input treesize:45, output treesize:78 [2019-02-27 12:57:22,951 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:22,952 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_15, main_xold, main_yold]. (let ((.cse0 (select v_main_a_15 main_xold)) (.cse2 (+ main_xold 1))) (and (= 1000 .cse0) (= (let ((.cse1 (store v_main_a_15 main_x .cse0))) (store .cse1 main_y (select .cse1 main_yold))) main_a) (= (select v_main_a_15 .cse2) 0) (= main_x (mod .cse2 256)) (= main_y (mod (+ main_xold 2) 256)))) [2019-02-27 12:57:22,952 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [main_xold, v_prenex_8, main_yold]. (let ((.cse3 (select main_a main_y)) (.cse0 (select main_a main_x))) (or (let ((.cse1 (select main_a main_xold)) (.cse2 (+ main_xold 1))) (and (= .cse0 .cse1) (= 0 (select main_a .cse2)) (= .cse1 1000) (= main_x (mod .cse2 256)) (= .cse3 (select main_a v_prenex_8)) (= main_y (mod (+ main_xold 2) 256)))) (let ((.cse4 (select main_a (+ main_x (- 1))))) (and (= main_y (mod (+ main_x 1) 256)) (= main_x (mod main_x 256)) (= .cse3 (select main_a main_yold)) (= 1000 .cse4) (= .cse0 .cse4))))) [2019-02-27 12:57:23,204 WARN L181 SmtUtils]: Spent 197.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 35 [2019-02-27 12:57:23,433 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,434 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,437 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,444 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 54 treesize of output 72 [2019-02-27 12:57:23,467 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,469 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,477 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,485 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 40 treesize of output 100 [2019-02-27 12:57:23,488 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:23,520 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:23,570 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,571 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,574 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,576 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 71 [2019-02-27 12:57:23,600 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,601 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,603 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,605 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,607 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 93 [2019-02-27 12:57:23,618 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:23,651 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:23,700 INFO L301 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:23,946 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,950 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,952 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,955 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,958 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,960 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:23,988 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 64 treesize of output 108 [2019-02-27 12:57:24,050 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,068 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,071 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,074 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,082 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,090 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 51 treesize of output 153 [2019-02-27 12:57:24,094 INFO L301 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:24,219 INFO L301 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:24,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,298 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,300 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,304 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,308 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,311 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,314 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,315 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 111 [2019-02-27 12:57:24,356 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,361 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,364 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,369 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,371 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,373 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:24,375 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 150 [2019-02-27 12:57:24,382 INFO L301 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:24,442 INFO L301 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:24,513 INFO L301 ElimStorePlain]: Start of recursive call 7: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:24,568 INFO L301 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2019-02-27 12:57:24,569 INFO L208 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:125, output treesize:113 [2019-02-27 12:57:26,752 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:26,753 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_16, main_xold, main_yold, v_prenex_9, v_subst_1]. (or (let ((.cse1 (select v_main_a_16 (+ main_xold (- 1)))) (.cse2 (mod (+ main_xold 1) 256)) (.cse0 (select v_main_a_16 main_xold))) (and (= .cse0 .cse1) (= main_xold (mod main_xold 256)) (= 1000 .cse1) (= main_x .cse2) (= (let ((.cse3 (store v_main_a_16 main_x .cse0))) (store .cse3 (mod (+ .cse2 1) 256) (select .cse3 main_yold))) main_a))) (let ((.cse8 (+ v_subst_1 1))) (let ((.cse7 (mod .cse8 256))) (let ((.cse5 (select v_prenex_9 .cse7)) (.cse4 (select v_prenex_9 v_subst_1))) (and (= .cse4 .cse5) (= (let ((.cse6 (store v_prenex_9 main_x .cse5))) (store .cse6 (mod (+ (mod (+ v_subst_1 2) 256) 1) 256) (select .cse6 main_yold))) main_a) (= .cse4 1000) (= main_x (mod (+ .cse7 1) 256)) (= 0 (select v_prenex_9 .cse8))))))) [2019-02-27 12:57:26,753 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_1, main_yold, main_xold, v_prenex_12]. (let ((.cse4 (select main_a main_x))) (or (let ((.cse3 (+ v_subst_1 1))) (let ((.cse0 (mod .cse3 256))) (let ((.cse1 (select main_a v_subst_1)) (.cse2 (select main_a .cse0))) (and (= main_x (mod (+ .cse0 1) 256)) (= .cse1 .cse2) (= (select main_a .cse3) 0) (= .cse1 1000) (= (select main_a (mod (+ (mod (+ v_subst_1 2) 256) 1) 256)) (select main_a main_yold)) (= .cse4 .cse2))))) (let ((.cse5 (select main_a main_xold)) (.cse7 (mod (+ main_xold 1) 256)) (.cse6 (select main_a (+ main_xold (- 1))))) (and (= main_xold (mod main_xold 256)) (= .cse5 .cse6) (= .cse4 .cse5) (= main_x .cse7) (= (select main_a (mod (+ .cse7 1) 256)) (select main_a v_prenex_12)) (= 1000 .cse6))))) [2019-02-27 12:57:27,100 WARN L181 SmtUtils]: Spent 203.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2019-02-27 12:57:27,136 INFO L273 TraceCheckUtils]: 0: Hoare triple {109#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {117#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} is VALID [2019-02-27 12:57:29,216 INFO L273 TraceCheckUtils]: 1: Hoare triple {117#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {121#(or (exists ((main_xold Int)) (and (= (select main_a main_x) (select main_a main_xold)) (= 0 (select main_a (+ main_xold 1))) (= (select main_a main_xold) 1000) (= main_x (mod (+ main_xold 1) 256)) (= main_y (mod (+ main_xold 2) 256)))) (and (= main_y (mod (+ main_x 1) 256)) (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} is UNKNOWN [2019-02-27 12:57:31,259 INFO L273 TraceCheckUtils]: 2: Hoare triple {121#(or (exists ((main_xold Int)) (and (= (select main_a main_x) (select main_a main_xold)) (= 0 (select main_a (+ main_xold 1))) (= (select main_a main_xold) 1000) (= main_x (mod (+ main_xold 1) 256)) (= main_y (mod (+ main_xold 2) 256)))) (and (= main_y (mod (+ main_x 1) 256)) (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {125#(or (exists ((main_yold Int) (v_subst_1 Int)) (and (= main_x (mod (+ (mod (+ v_subst_1 1) 256) 1) 256)) (= (select main_a v_subst_1) (select main_a (mod (+ v_subst_1 1) 256))) (= (select main_a (+ v_subst_1 1)) 0) (= (select main_a v_subst_1) 1000) (= (select main_a (mod (+ (mod (+ v_subst_1 2) 256) 1) 256)) (select main_a main_yold)) (= (select main_a main_x) (select main_a (mod (+ v_subst_1 1) 256))))) (exists ((main_xold Int) (v_prenex_12 Int)) (and (= main_xold (mod main_xold 256)) (= (select main_a main_xold) (select main_a (+ main_xold (- 1)))) (= (select main_a main_x) (select main_a main_xold)) (= (select main_a (mod (+ (mod (+ main_xold 1) 256) 1) 256)) (select main_a v_prenex_12)) (= main_x (mod (+ main_xold 1) 256)) (= 1000 (select main_a (+ main_xold (- 1)))))))} is UNKNOWN [2019-02-27 12:57:31,291 INFO L273 TraceCheckUtils]: 3: Hoare triple {125#(or (exists ((main_yold Int) (v_subst_1 Int)) (and (= main_x (mod (+ (mod (+ v_subst_1 1) 256) 1) 256)) (= (select main_a v_subst_1) (select main_a (mod (+ v_subst_1 1) 256))) (= (select main_a (+ v_subst_1 1)) 0) (= (select main_a v_subst_1) 1000) (= (select main_a (mod (+ (mod (+ v_subst_1 2) 256) 1) 256)) (select main_a main_yold)) (= (select main_a main_x) (select main_a (mod (+ v_subst_1 1) 256))))) (exists ((main_xold Int) (v_prenex_12 Int)) (and (= main_xold (mod main_xold 256)) (= (select main_a main_xold) (select main_a (+ main_xold (- 1)))) (= (select main_a main_x) (select main_a main_xold)) (= (select main_a (mod (+ (mod (+ main_xold 1) 256) 1) 256)) (select main_a v_prenex_12)) (= main_x (mod (+ main_xold 1) 256)) (= 1000 (select main_a (+ main_xold (- 1)))))))} assume a[x] == 0; {110#false} is VALID [2019-02-27 12:57:31,292 INFO L273 TraceCheckUtils]: 4: Hoare triple {110#false} assume !(a[y] == 1000); {110#false} is VALID [2019-02-27 12:57:31,292 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-27 12:57:31,292 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:57:33,460 INFO L273 TraceCheckUtils]: 4: Hoare triple {110#false} assume !(a[y] == 1000); {110#false} is VALID [2019-02-27 12:57:33,464 INFO L273 TraceCheckUtils]: 3: Hoare triple {135#(not (= (select main_a main_x) 0))} assume a[x] == 0; {110#false} is VALID [2019-02-27 12:57:33,466 INFO L273 TraceCheckUtils]: 2: Hoare triple {139#(forall ((v_main_yold_3 Int)) (not (= (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) v_main_yold_3)) (mod (+ main_x 1) 256)) 0)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {135#(not (= (select main_a main_x) 0))} is VALID [2019-02-27 12:57:33,470 INFO L273 TraceCheckUtils]: 1: Hoare triple {139#(forall ((v_main_yold_3 Int)) (not (= (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) v_main_yold_3)) (mod (+ main_x 1) 256)) 0)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {139#(forall ((v_main_yold_3 Int)) (not (= (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) v_main_yold_3)) (mod (+ main_x 1) 256)) 0)))} is VALID [2019-02-27 12:57:33,472 INFO L273 TraceCheckUtils]: 0: Hoare triple {109#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {139#(forall ((v_main_yold_3 Int)) (not (= (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) v_main_yold_3)) (mod (+ main_x 1) 256)) 0)))} is VALID [2019-02-27 12:57:33,472 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-27 12:57:33,492 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:57:33,492 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 3] total 9 [2019-02-27 12:57:33,492 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:57:33,493 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 12:57:33,493 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:57:33,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-27 12:57:37,585 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 7 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2019-02-27 12:57:37,585 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-27 12:57:37,585 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-27 12:57:37,585 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2019-02-27 12:57:37,586 INFO L87 Difference]: Start difference. First operand 6 states and 6 transitions. Second operand 8 states. [2019-02-27 12:57:46,526 WARN L181 SmtUtils]: Spent 249.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 69 [2019-02-27 12:57:50,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:50,715 INFO L93 Difference]: Finished difference Result 10 states and 11 transitions. [2019-02-27 12:57:50,715 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-27 12:57:50,715 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-27 12:57:50,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:57:50,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:57:50,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 11 transitions. [2019-02-27 12:57:50,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:57:50,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 11 transitions. [2019-02-27 12:57:50,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 11 transitions. [2019-02-27 12:57:54,804 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 9 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2019-02-27 12:57:54,805 INFO L225 Difference]: With dead ends: 10 [2019-02-27 12:57:54,805 INFO L226 Difference]: Without dead ends: 8 [2019-02-27 12:57:54,806 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-27 12:57:54,806 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states. [2019-02-27 12:57:54,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2019-02-27 12:57:54,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:57:54,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 8 states. Second operand 8 states. [2019-02-27 12:57:54,830 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 8 states. [2019-02-27 12:57:54,831 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 8 states. [2019-02-27 12:57:54,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:54,832 INFO L93 Difference]: Finished difference Result 8 states and 8 transitions. [2019-02-27 12:57:54,832 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 8 transitions. [2019-02-27 12:57:54,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:57:54,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:57:54,833 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 8 states. [2019-02-27 12:57:54,833 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 8 states. [2019-02-27 12:57:54,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:57:54,834 INFO L93 Difference]: Finished difference Result 8 states and 8 transitions. [2019-02-27 12:57:54,834 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 8 transitions. [2019-02-27 12:57:54,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:57:54,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:57:54,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:57:54,835 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:57:54,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-27 12:57:54,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 8 transitions. [2019-02-27 12:57:54,836 INFO L78 Accepts]: Start accepts. Automaton has 8 states and 8 transitions. Word has length 5 [2019-02-27 12:57:54,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:57:54,836 INFO L480 AbstractCegarLoop]: Abstraction has 8 states and 8 transitions. [2019-02-27 12:57:54,836 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-27 12:57:54,836 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 8 transitions. [2019-02-27 12:57:54,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-27 12:57:54,836 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:57:54,836 INFO L402 BasicCegarLoop]: trace histogram [4, 1, 1, 1] [2019-02-27 12:57:54,837 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:57:54,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:57:54,837 INFO L82 PathProgramCache]: Analyzing trace with hash 1861144288, now seen corresponding path program 3 times [2019-02-27 12:57:54,837 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:57:54,838 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:54,838 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 12:57:54,838 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:57:54,838 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:57:54,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:55,660 WARN L181 SmtUtils]: Spent 144.00 ms on a formula simplification. DAG size of input: 60 DAG size of output: 36 [2019-02-27 12:57:55,835 INFO L273 TraceCheckUtils]: 0: Hoare triple {191#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {193#(and (= 1000 (select main_a main_x)) (<= (+ main_x 1) main_y) (<= main_y (+ main_x 1)))} is VALID [2019-02-27 12:57:55,842 INFO L273 TraceCheckUtils]: 1: Hoare triple {193#(and (= 1000 (select main_a main_x)) (<= (+ main_x 1) main_y) (<= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {194#(and (< 0 (+ (div (+ main_x 1) 256) 1)) (= 1000 (select main_a main_x)) (<= main_x (+ main_y 255)) (or (and (<= main_x 254) (<= main_y (+ main_x 1))) (<= main_y 0)) (or (<= (+ main_y (* 256 (div (+ main_x 1) 256)) 255) (+ (* 256 (div (+ main_y 1) 256)) main_x)) (<= (+ (* 256 (div (+ main_y 1) 256)) main_x 1) (+ main_y (* 256 (div (+ main_x 1) 256))))) (< 0 (+ main_y 1)))} is VALID [2019-02-27 12:57:55,845 INFO L273 TraceCheckUtils]: 2: Hoare triple {194#(and (< 0 (+ (div (+ main_x 1) 256) 1)) (= 1000 (select main_a main_x)) (<= main_x (+ main_y 255)) (or (and (<= main_x 254) (<= main_y (+ main_x 1))) (<= main_y 0)) (or (<= (+ main_y (* 256 (div (+ main_x 1) 256)) 255) (+ (* 256 (div (+ main_y 1) 256)) main_x)) (<= (+ (* 256 (div (+ main_y 1) 256)) main_x 1) (+ main_y (* 256 (div (+ main_x 1) 256))))) (< 0 (+ main_y 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {195#(and (= 1000 (select main_a main_x)) (not (= main_x main_y)) (= 1000 (select main_a main_y)))} is VALID [2019-02-27 12:57:55,847 INFO L273 TraceCheckUtils]: 3: Hoare triple {195#(and (= 1000 (select main_a main_x)) (not (= main_x main_y)) (= 1000 (select main_a main_y)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {196#(and (= 1000 (select main_a main_x)) (= 1000 (select main_a main_y)))} is VALID [2019-02-27 12:57:55,849 INFO L273 TraceCheckUtils]: 4: Hoare triple {196#(and (= 1000 (select main_a main_x)) (= 1000 (select main_a main_y)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {197#(= (select main_a main_y) 1000)} is VALID [2019-02-27 12:57:55,851 INFO L273 TraceCheckUtils]: 5: Hoare triple {197#(= (select main_a main_y) 1000)} assume a[x] == 0; {197#(= (select main_a main_y) 1000)} is VALID [2019-02-27 12:57:55,851 INFO L273 TraceCheckUtils]: 6: Hoare triple {197#(= (select main_a main_y) 1000)} assume !(a[y] == 1000); {192#false} is VALID [2019-02-27 12:57:55,852 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:57:55,852 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:57:55,853 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:57:55,853 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 12:57:55,853 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 12:57:55,853 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:57:55,853 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 12:57:55,865 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2019-02-27 12:57:55,865 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2019-02-27 12:57:55,977 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2019-02-27 12:57:55,977 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-27 12:57:55,978 WARN L254 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 42 conjunts are in the unsatisfiable core [2019-02-27 12:57:56,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:57:56,014 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:57:56,021 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2019-02-27 12:57:56,027 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,028 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 15 [2019-02-27 12:57:56,051 INFO L301 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,066 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,073 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,073 INFO L208 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:16 [2019-02-27 12:57:56,076 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:56,076 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_19]. (and (= main_y (+ main_x 1)) (= (store (store v_main_a_19 main_x 1000) main_y 0) main_a)) [2019-02-27 12:57:56,076 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1))) [2019-02-27 12:57:56,235 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,236 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 36 [2019-02-27 12:57:56,248 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,249 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,251 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2019-02-27 12:57:56,253 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,269 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,309 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,312 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,313 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 46 [2019-02-27 12:57:56,325 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,328 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,330 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:56,332 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 59 [2019-02-27 12:57:56,341 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,362 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:56,389 INFO L301 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:57:56,429 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2019-02-27 12:57:56,430 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:47, output treesize:80 [2019-02-27 12:57:58,479 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:57:58,480 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_20, main_yold]. (let ((.cse1 (select v_main_a_20 (+ main_yold (- 1))))) (and (= (mod main_yold 256) main_x) (= (select v_main_a_20 main_yold) 0) (= (let ((.cse0 (store v_main_a_20 main_x .cse1))) (store .cse0 main_y (select .cse0 main_yold))) main_a) (= main_y (mod (+ main_yold 1) 256)) (= .cse1 1000))) [2019-02-27 12:57:58,480 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [main_yold]. (let ((.cse1 (select main_a main_y)) (.cse2 (select main_a main_x))) (or (let ((.cse0 (select main_a main_yold)) (.cse3 (select main_a (+ main_yold (- 1))))) (and (= (mod main_yold 256) main_x) (= 0 .cse0) (= main_y (mod (+ main_yold 1) 256)) (= .cse1 .cse0) (= .cse2 .cse3) (= 1000 .cse3))) (let ((.cse4 (select main_a (+ main_x (- 1))))) (and (= main_y (mod (+ main_x 1) 256)) (= .cse1 .cse4) (= main_x (mod main_x 256)) (= 1000 .cse4) (= .cse2 .cse4))))) [2019-02-27 12:57:58,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,650 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,652 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 55 [2019-02-27 12:57:58,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,681 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,683 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,685 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,687 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 69 [2019-02-27 12:57:58,695 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:58,720 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:58,740 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:58,870 WARN L296 Elim1Store]: Array PQE input equivalent to false [2019-02-27 12:57:58,871 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:58,920 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,923 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,925 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,928 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,940 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,943 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,945 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,947 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 86 [2019-02-27 12:57:58,969 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,971 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,976 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,980 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,988 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:57:58,990 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 98 [2019-02-27 12:57:58,994 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 12:57:59,039 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:59,061 INFO L301 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:57:59,157 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 12:57:59,158 INFO L208 ElimStorePlain]: Needed 8 recursive calls to eliminate 4 variables, input treesize:157, output treesize:123 [2019-02-27 12:58:01,196 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:58:01,197 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_21, v_subst_2, v_prenex_14, main_xold]. (or (let ((.cse5 (mod v_subst_2 256))) (let ((.cse0 (select v_main_a_21 v_subst_2)) (.cse4 (select v_main_a_21 (+ v_subst_2 (- 1)))) (.cse3 (select v_main_a_21 .cse5)) (.cse1 (mod (+ v_subst_2 1) 256))) (and (= 0 .cse0) (= (select v_main_a_21 .cse1) .cse0) (= main_a (let ((.cse2 (store v_main_a_21 main_x .cse3))) (store .cse2 main_y (select .cse2 .cse1)))) (= 1000 .cse4) (= .cse4 .cse3) (= main_x (mod (+ .cse5 1) 256)) (= (mod (+ .cse1 1) 256) main_y)))) (let ((.cse8 (select v_prenex_14 main_xold)) (.cse7 (mod (+ main_xold 1) 256)) (.cse9 (select v_prenex_14 (+ main_xold (- 1))))) (and (= main_xold (mod main_xold 256)) (= (let ((.cse6 (store v_prenex_14 main_x .cse8))) (store .cse6 main_y (select .cse6 .cse7))) main_a) (= (select v_prenex_14 .cse7) .cse9) (= main_x .cse7) (= .cse8 .cse9) (= main_y (mod (+ .cse7 1) 256)) (= .cse9 1000)))) [2019-02-27 12:58:01,197 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_2, main_xold]. (let ((.cse2 (select main_a main_x))) (or (let ((.cse3 (mod (+ v_subst_2 1) 256)) (.cse0 (select main_a (+ v_subst_2 (- 1)))) (.cse1 (select main_a (mod v_subst_2 256)))) (and (= .cse0 1000) (= (select main_a main_y) .cse1) (= .cse2 .cse1) (= 0 (select main_a v_subst_2)) (= (mod (+ .cse3 1) 256) main_y) (= main_x .cse3) (= .cse0 .cse1))) (let ((.cse6 (mod (+ main_xold 1) 256))) (let ((.cse5 (select main_a (+ main_xold (- 1)))) (.cse4 (select main_a main_xold)) (.cse7 (mod (+ .cse6 1) 256))) (and (= main_xold (mod main_xold 256)) (= .cse4 .cse5) (= .cse2 .cse4) (= main_x .cse6) (= main_y .cse7) (= 1000 .cse5) (= .cse4 (select main_a .cse7))))))) [2019-02-27 12:58:01,451 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,453 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,455 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,473 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,480 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,481 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,483 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,497 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,499 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 150 [2019-02-27 12:58:01,568 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,570 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,573 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,575 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,578 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,580 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,584 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:01,586 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 17 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 166 [2019-02-27 12:58:01,597 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:58:01,712 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:01,779 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:02,039 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,041 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,044 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,048 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,055 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,057 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,058 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 141 [2019-02-27 12:58:02,092 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,094 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,096 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,100 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,102 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:02,104 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 159 [2019-02-27 12:58:02,111 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 12:58:02,172 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:02,197 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:02,355 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 12:58:02,356 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:223, output treesize:171 [2019-02-27 12:58:04,395 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:58:04,396 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_prenex_16, v_subst_2, v_main_a_22, v_subst_3]. (or (let ((.cse5 (mod (+ v_subst_2 1) 256))) (let ((.cse1 (select v_prenex_16 .cse5)) (.cse2 (mod (+ .cse5 1) 256)) (.cse0 (select v_prenex_16 (mod v_subst_2 256))) (.cse4 (select v_prenex_16 (+ v_subst_2 (- 1))))) (and (= .cse0 .cse1) (= (select v_prenex_16 .cse2) .cse0) (= (mod (+ .cse2 1) 256) main_y) (= main_a (let ((.cse3 (store v_prenex_16 main_x .cse1))) (store .cse3 main_y (select .cse3 .cse2)))) (= .cse2 main_x) (= (select v_prenex_16 v_subst_2) 0) (= .cse4 .cse0) (= 1000 .cse4)))) (let ((.cse11 (mod (+ v_subst_3 1) 256))) (let ((.cse8 (select v_main_a_22 v_subst_3)) (.cse6 (mod (+ .cse11 1) 256)) (.cse9 (select v_main_a_22 .cse11)) (.cse7 (select v_main_a_22 (+ v_subst_3 (- 1))))) (and (= .cse6 main_x) (= .cse7 .cse8) (= .cse9 .cse8) (= (select v_main_a_22 .cse6) .cse8) (= v_subst_3 (mod v_subst_3 256)) (= main_y (mod (+ .cse6 1) 256)) (= (let ((.cse10 (store v_main_a_22 main_x .cse9))) (store .cse10 main_y (select .cse10 .cse6))) main_a) (= .cse7 1000))))) [2019-02-27 12:58:04,396 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_2, v_subst_3]. (let ((.cse2 (select main_a main_y))) (or (let ((.cse5 (mod (+ v_subst_2 1) 256))) (let ((.cse1 (mod (+ .cse5 1) 256)) (.cse3 (select main_a .cse5)) (.cse0 (select main_a (+ v_subst_2 (- 1)))) (.cse4 (select main_a (mod v_subst_2 256)))) (and (= .cse0 1000) (= (mod (+ .cse1 1) 256) main_y) (= .cse1 main_x) (= .cse2 .cse3) (= 0 (select main_a v_subst_2)) (= (select main_a main_x) .cse3) (= .cse4 .cse3) (= .cse0 .cse4)))) (let ((.cse9 (mod (+ v_subst_3 1) 256))) (let ((.cse6 (mod (+ .cse9 1) 256)) (.cse8 (select main_a .cse9)) (.cse7 (select main_a v_subst_3))) (and (= .cse6 main_x) (= (select main_a (+ v_subst_3 (- 1))) 1000) (= v_subst_3 (mod v_subst_3 256)) (= .cse7 .cse8) (= main_y (mod (+ .cse6 1) 256)) (= .cse2 .cse8) (= (select main_a .cse6) .cse8) (= .cse7 1000)))))) [2019-02-27 12:58:05,845 WARN L181 SmtUtils]: Spent 826.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2019-02-27 12:58:05,978 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,985 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,986 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,988 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,989 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,992 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,994 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,995 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:05,997 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 194 [2019-02-27 12:58:06,049 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:06,052 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:06,059 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:06,062 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:06,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:06,067 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:06,068 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 212 [2019-02-27 12:58:06,076 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:58:06,143 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:06,176 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:07,160 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,178 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,187 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,189 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,226 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,256 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,277 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,288 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,301 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,314 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,332 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,345 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,353 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,357 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,370 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,378 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,378 INFO L292 Elim1Store]: Index analysis took 263 ms [2019-02-27 12:58:07,379 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 108 treesize of output 251 [2019-02-27 12:58:07,469 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,473 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,477 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,480 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,482 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,484 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,488 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:58:07,491 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 23 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 96 treesize of output 291 [2019-02-27 12:58:07,515 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 12:58:07,933 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:08,045 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:58:08,319 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 12:58:08,319 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:311, output treesize:249 [2019-02-27 12:58:10,384 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:58:10,384 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_23, v_subst_2, v_prenex_17, v_subst_3]. (or (let ((.cse7 (mod (+ v_subst_2 1) 256))) (let ((.cse6 (mod (+ .cse7 1) 256))) (let ((.cse2 (select v_main_a_23 (mod v_subst_2 256))) (.cse0 (select v_main_a_23 .cse6)) (.cse3 (select v_main_a_23 (+ v_subst_2 (- 1)))) (.cse1 (select v_main_a_23 .cse7)) (.cse4 (mod (+ .cse6 1) 256))) (and (= .cse0 .cse1) (= .cse2 .cse3) (= 0 (select v_main_a_23 v_subst_2)) (= .cse2 .cse1) (= .cse4 main_x) (= main_y (mod (+ .cse4 1) 256)) (= (let ((.cse5 (store v_main_a_23 main_x .cse0))) (store .cse5 main_y (select .cse5 .cse4))) main_a) (= .cse3 1000) (= .cse1 (select v_main_a_23 .cse4)))))) (let ((.cse13 (mod (+ v_subst_3 1) 256))) (let ((.cse14 (mod (+ .cse13 1) 256))) (let ((.cse10 (select v_prenex_17 v_subst_3)) (.cse11 (select v_prenex_17 .cse14)) (.cse8 (mod (+ .cse14 1) 256)) (.cse9 (select v_prenex_17 .cse13))) (and (= main_y (mod (+ .cse8 1) 256)) (= .cse9 .cse10) (= .cse9 .cse11) (= v_subst_3 (mod v_subst_3 256)) (= 1000 (select v_prenex_17 (+ v_subst_3 (- 1)))) (= 1000 .cse10) (= (let ((.cse12 (store v_prenex_17 main_x .cse11))) (store .cse12 main_y (select .cse12 .cse8))) main_a) (= main_x .cse8) (= (select v_prenex_17 .cse8) .cse9)))))) [2019-02-27 12:58:10,384 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_2, v_subst_3]. (let ((.cse4 (select main_a main_x))) (or (let ((.cse6 (mod (+ v_subst_2 1) 256))) (let ((.cse7 (mod (+ .cse6 1) 256))) (let ((.cse2 (mod (+ .cse7 1) 256))) (let ((.cse3 (mod (+ .cse2 1) 256)) (.cse1 (select main_a .cse7)) (.cse0 (select main_a .cse6)) (.cse5 (select main_a (mod v_subst_2 256)))) (and (= .cse0 .cse1) (= .cse2 main_x) (= main_y .cse3) (= (select main_a .cse3) .cse1) (= 0 (select main_a v_subst_2)) (= .cse4 .cse1) (= .cse5 .cse0) (= 1000 .cse0) (= (select main_a (+ v_subst_2 (- 1))) .cse5)))))) (let ((.cse11 (mod (+ v_subst_3 1) 256))) (let ((.cse12 (mod (+ .cse11 1) 256))) (let ((.cse8 (mod (+ .cse12 1) 256)) (.cse9 (select main_a .cse12)) (.cse10 (select main_a .cse11))) (and (= main_y (mod (+ .cse8 1) 256)) (= (select main_a (+ v_subst_3 (- 1))) 1000) (= .cse9 .cse4) (= v_subst_3 (mod v_subst_3 256)) (= .cse9 (select main_a main_y)) (= .cse10 1000) (= main_x .cse8) (= .cse9 .cse10) (= (select main_a v_subst_3) 1000))))))) [2019-02-27 12:58:20,971 WARN L181 SmtUtils]: Spent 2.80 s on a formula simplification that was a NOOP. DAG size: 65 [2019-02-27 12:58:21,144 INFO L273 TraceCheckUtils]: 0: Hoare triple {191#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {201#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} is VALID [2019-02-27 12:58:22,038 INFO L273 TraceCheckUtils]: 1: Hoare triple {201#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {205#(or (exists ((main_yold Int)) (and (= (mod main_yold 256) main_x) (= 0 (select main_a main_yold)) (= main_y (mod (+ main_yold 1) 256)) (= (select main_a main_y) (select main_a main_yold)) (= (select main_a main_x) (select main_a (+ main_yold (- 1)))) (= 1000 (select main_a (+ main_yold (- 1)))))) (and (= main_y (mod (+ main_x 1) 256)) (= (select main_a main_y) (select main_a (+ main_x (- 1)))) (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} is VALID [2019-02-27 12:58:24,047 INFO L273 TraceCheckUtils]: 2: Hoare triple {205#(or (exists ((main_yold Int)) (and (= (mod main_yold 256) main_x) (= 0 (select main_a main_yold)) (= main_y (mod (+ main_yold 1) 256)) (= (select main_a main_y) (select main_a main_yold)) (= (select main_a main_x) (select main_a (+ main_yold (- 1)))) (= 1000 (select main_a (+ main_yold (- 1)))))) (and (= main_y (mod (+ main_x 1) 256)) (= (select main_a main_y) (select main_a (+ main_x (- 1)))) (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {209#(or (exists ((v_subst_2 Int)) (and (= (select main_a (+ v_subst_2 (- 1))) 1000) (= (select main_a main_y) (select main_a (mod v_subst_2 256))) (= (select main_a main_x) (select main_a (mod v_subst_2 256))) (= 0 (select main_a v_subst_2)) (= (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) main_y) (= main_x (mod (+ v_subst_2 1) 256)) (= (select main_a (+ v_subst_2 (- 1))) (select main_a (mod v_subst_2 256))))) (exists ((main_xold Int)) (and (= main_xold (mod main_xold 256)) (= (select main_a main_xold) (select main_a (+ main_xold (- 1)))) (= (select main_a main_x) (select main_a main_xold)) (= main_x (mod (+ main_xold 1) 256)) (= main_y (mod (+ (mod (+ main_xold 1) 256) 1) 256)) (= 1000 (select main_a (+ main_xold (- 1)))) (= (select main_a main_xold) (select main_a (mod (+ (mod (+ main_xold 1) 256) 1) 256))))))} is UNKNOWN [2019-02-27 12:58:26,056 INFO L273 TraceCheckUtils]: 3: Hoare triple {209#(or (exists ((v_subst_2 Int)) (and (= (select main_a (+ v_subst_2 (- 1))) 1000) (= (select main_a main_y) (select main_a (mod v_subst_2 256))) (= (select main_a main_x) (select main_a (mod v_subst_2 256))) (= 0 (select main_a v_subst_2)) (= (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) main_y) (= main_x (mod (+ v_subst_2 1) 256)) (= (select main_a (+ v_subst_2 (- 1))) (select main_a (mod v_subst_2 256))))) (exists ((main_xold Int)) (and (= main_xold (mod main_xold 256)) (= (select main_a main_xold) (select main_a (+ main_xold (- 1)))) (= (select main_a main_x) (select main_a main_xold)) (= main_x (mod (+ main_xold 1) 256)) (= main_y (mod (+ (mod (+ main_xold 1) 256) 1) 256)) (= 1000 (select main_a (+ main_xold (- 1)))) (= (select main_a main_xold) (select main_a (mod (+ (mod (+ main_xold 1) 256) 1) 256))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {213#(or (exists ((v_subst_2 Int)) (and (= (select main_a (+ v_subst_2 (- 1))) 1000) (= (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) main_y) (= (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) main_x) (= (select main_a main_y) (select main_a (mod (+ v_subst_2 1) 256))) (= 0 (select main_a v_subst_2)) (= (select main_a main_x) (select main_a (mod (+ v_subst_2 1) 256))) (= (select main_a (mod v_subst_2 256)) (select main_a (mod (+ v_subst_2 1) 256))) (= (select main_a (+ v_subst_2 (- 1))) (select main_a (mod v_subst_2 256))))) (exists ((v_subst_3 Int)) (and (= (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) main_x) (= (select main_a (+ v_subst_3 (- 1))) 1000) (= v_subst_3 (mod v_subst_3 256)) (= (select main_a v_subst_3) (select main_a (mod (+ v_subst_3 1) 256))) (= main_y (mod (+ (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) 1) 256)) (= (select main_a main_y) (select main_a (mod (+ v_subst_3 1) 256))) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a (mod (+ v_subst_3 1) 256))) (= (select main_a v_subst_3) 1000))))} is UNKNOWN [2019-02-27 12:58:28,068 INFO L273 TraceCheckUtils]: 4: Hoare triple {213#(or (exists ((v_subst_2 Int)) (and (= (select main_a (+ v_subst_2 (- 1))) 1000) (= (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) main_y) (= (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) main_x) (= (select main_a main_y) (select main_a (mod (+ v_subst_2 1) 256))) (= 0 (select main_a v_subst_2)) (= (select main_a main_x) (select main_a (mod (+ v_subst_2 1) 256))) (= (select main_a (mod v_subst_2 256)) (select main_a (mod (+ v_subst_2 1) 256))) (= (select main_a (+ v_subst_2 (- 1))) (select main_a (mod v_subst_2 256))))) (exists ((v_subst_3 Int)) (and (= (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) main_x) (= (select main_a (+ v_subst_3 (- 1))) 1000) (= v_subst_3 (mod v_subst_3 256)) (= (select main_a v_subst_3) (select main_a (mod (+ v_subst_3 1) 256))) (= main_y (mod (+ (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) 1) 256)) (= (select main_a main_y) (select main_a (mod (+ v_subst_3 1) 256))) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a (mod (+ v_subst_3 1) 256))) (= (select main_a v_subst_3) 1000))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {217#(or (exists ((v_subst_3 Int)) (and (= main_y (mod (+ (mod (+ (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (+ v_subst_3 (- 1))) 1000) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a main_y)) (= v_subst_3 (mod v_subst_3 256)) (= (select main_a (mod (+ v_subst_3 1) 256)) 1000) (= main_x (mod (+ (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a (mod (+ v_subst_3 1) 256))) (= (select main_a v_subst_3) 1000))) (exists ((v_subst_2 Int)) (and (= (select main_a (mod (+ v_subst_2 1) 256)) (select main_a (mod (+ (mod (+ v_subst_2 1) 256) 1) 256))) (= (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) main_x) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_2 1) 256) 1) 256))) (= 0 (select main_a v_subst_2)) (= (select main_a main_x) (select main_a (mod (+ (mod (+ v_subst_2 1) 256) 1) 256))) (= (select main_a (mod v_subst_2 256)) (select main_a (mod (+ v_subst_2 1) 256))) (= 1000 (select main_a (mod (+ v_subst_2 1) 256))) (= (select main_a (+ v_subst_2 (- 1))) (select main_a (mod v_subst_2 256))))))} is UNKNOWN [2019-02-27 12:58:28,075 INFO L273 TraceCheckUtils]: 5: Hoare triple {217#(or (exists ((v_subst_3 Int)) (and (= main_y (mod (+ (mod (+ (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (+ v_subst_3 (- 1))) 1000) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a main_y)) (= v_subst_3 (mod v_subst_3 256)) (= (select main_a (mod (+ v_subst_3 1) 256)) 1000) (= main_x (mod (+ (mod (+ (mod (+ v_subst_3 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ v_subst_3 1) 256) 1) 256)) (select main_a (mod (+ v_subst_3 1) 256))) (= (select main_a v_subst_3) 1000))) (exists ((v_subst_2 Int)) (and (= (select main_a (mod (+ v_subst_2 1) 256)) (select main_a (mod (+ (mod (+ v_subst_2 1) 256) 1) 256))) (= (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) main_x) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_2 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_2 1) 256) 1) 256))) (= 0 (select main_a v_subst_2)) (= (select main_a main_x) (select main_a (mod (+ (mod (+ v_subst_2 1) 256) 1) 256))) (= (select main_a (mod v_subst_2 256)) (select main_a (mod (+ v_subst_2 1) 256))) (= 1000 (select main_a (mod (+ v_subst_2 1) 256))) (= (select main_a (+ v_subst_2 (- 1))) (select main_a (mod v_subst_2 256))))))} assume a[x] == 0; {192#false} is VALID [2019-02-27 12:58:28,075 INFO L273 TraceCheckUtils]: 6: Hoare triple {192#false} assume !(a[y] == 1000); {192#false} is VALID [2019-02-27 12:58:28,076 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 1 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-27 12:58:28,077 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 12:58:35,660 INFO L273 TraceCheckUtils]: 6: Hoare triple {197#(= (select main_a main_y) 1000)} assume !(a[y] == 1000); {192#false} is VALID [2019-02-27 12:58:35,661 INFO L273 TraceCheckUtils]: 5: Hoare triple {227#(or (not (= (select main_a main_x) 0)) (= (select main_a main_y) 1000))} assume a[x] == 0; {197#(= (select main_a main_y) 1000)} is VALID [2019-02-27 12:58:35,662 INFO L273 TraceCheckUtils]: 4: Hoare triple {231#(or (not (= 0 (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256)))) (= 1000 (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {227#(or (not (= (select main_a main_x) 0)) (= (select main_a main_y) 1000))} is VALID [2019-02-27 12:58:36,115 INFO L273 TraceCheckUtils]: 3: Hoare triple {235#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {231#(or (not (= 0 (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256)))) (= 1000 (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)))} is VALID [2019-02-27 12:58:36,355 INFO L273 TraceCheckUtils]: 2: Hoare triple {235#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {235#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 12:58:37,575 INFO L273 TraceCheckUtils]: 1: Hoare triple {235#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {235#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 12:58:37,577 INFO L273 TraceCheckUtils]: 0: Hoare triple {191#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {235#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 12:58:37,579 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2019-02-27 12:58:37,599 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 12:58:37,599 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6, 4] total 14 [2019-02-27 12:58:37,599 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 12:58:37,600 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 12:58:37,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 12:58:37,600 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-27 12:58:44,743 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 11 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2019-02-27 12:58:44,743 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-27 12:58:44,743 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-27 12:58:44,743 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=134, Unknown=3, NotChecked=0, Total=210 [2019-02-27 12:58:44,744 INFO L87 Difference]: Start difference. First operand 8 states and 8 transitions. Second operand 12 states. [2019-02-27 12:59:25,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:25,858 INFO L93 Difference]: Finished difference Result 15 states and 18 transitions. [2019-02-27 12:59:25,858 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-27 12:59:25,858 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-27 12:59:25,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 12:59:25,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 12:59:25,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 18 transitions. [2019-02-27 12:59:25,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 12:59:25,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 18 transitions. [2019-02-27 12:59:25,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 18 transitions. [2019-02-27 12:59:33,602 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 15 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2019-02-27 12:59:33,604 INFO L225 Difference]: With dead ends: 15 [2019-02-27 12:59:33,604 INFO L226 Difference]: Without dead ends: 12 [2019-02-27 12:59:33,605 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 1 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 16.2s TimeCoverageRelationStatistics Valid=73, Invalid=134, Unknown=3, NotChecked=0, Total=210 [2019-02-27 12:59:33,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 12 states. [2019-02-27 12:59:33,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 12 to 12. [2019-02-27 12:59:33,665 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 12:59:33,665 INFO L82 GeneralOperation]: Start isEquivalent. First operand 12 states. Second operand 12 states. [2019-02-27 12:59:33,665 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 12 states. [2019-02-27 12:59:33,665 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 12 states. [2019-02-27 12:59:33,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:33,667 INFO L93 Difference]: Finished difference Result 12 states and 12 transitions. [2019-02-27 12:59:33,667 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 12 transitions. [2019-02-27 12:59:33,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:33,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:33,668 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 12 states. [2019-02-27 12:59:33,668 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 12 states. [2019-02-27 12:59:33,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 12:59:33,669 INFO L93 Difference]: Finished difference Result 12 states and 12 transitions. [2019-02-27 12:59:33,669 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 12 transitions. [2019-02-27 12:59:33,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 12:59:33,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 12:59:33,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 12:59:33,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 12:59:33,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-27 12:59:33,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 12 transitions. [2019-02-27 12:59:33,671 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 12 transitions. Word has length 7 [2019-02-27 12:59:33,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 12:59:33,672 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 12 transitions. [2019-02-27 12:59:33,672 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-27 12:59:33,672 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 12 transitions. [2019-02-27 12:59:33,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2019-02-27 12:59:33,672 INFO L394 BasicCegarLoop]: Found error trace [2019-02-27 12:59:33,672 INFO L402 BasicCegarLoop]: trace histogram [8, 1, 1, 1] [2019-02-27 12:59:33,673 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2019-02-27 12:59:33,673 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-27 12:59:33,673 INFO L82 PathProgramCache]: Analyzing trace with hash -1542166432, now seen corresponding path program 4 times [2019-02-27 12:59:33,673 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-27 12:59:33,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:33,674 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-27 12:59:33,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-27 12:59:33,674 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-27 12:59:33,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:34,265 WARN L181 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 30 [2019-02-27 12:59:34,705 WARN L181 SmtUtils]: Spent 267.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 10 [2019-02-27 12:59:34,931 INFO L273 TraceCheckUtils]: 0: Hoare triple {313#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {315#(and (<= (+ main_x 1) main_y) (not (= 0 (select main_a main_x))) (= 0 (select main_a main_y)) (<= main_y (+ main_x 1)))} is VALID [2019-02-27 12:59:34,937 INFO L273 TraceCheckUtils]: 1: Hoare triple {315#(and (<= (+ main_x 1) main_y) (not (= 0 (select main_a main_x))) (= 0 (select main_a main_y)) (<= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {316#(and (< 0 (+ (div (+ main_x 1) 256) 1)) (<= main_x (+ main_y 255)) (or (< 0 (div (+ main_x 1) 256)) (and (<= (+ main_x 1) main_y) (<= main_y (+ main_x 1)))) (not (= 0 (select main_a main_x))) (<= (div (+ main_x 1) 256) 1) (or (<= (+ main_y 255) main_x) (and (<= (+ main_x 1) main_y) (<= main_y 255))))} is VALID [2019-02-27 12:59:34,939 INFO L273 TraceCheckUtils]: 2: Hoare triple {316#(and (< 0 (+ (div (+ main_x 1) 256) 1)) (<= main_x (+ main_y 255)) (or (< 0 (div (+ main_x 1) 256)) (and (<= (+ main_x 1) main_y) (<= main_y (+ main_x 1)))) (not (= 0 (select main_a main_x))) (<= (div (+ main_x 1) 256) 1) (or (<= (+ main_y 255) main_x) (and (<= (+ main_x 1) main_y) (<= main_y 255))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} is VALID [2019-02-27 12:59:34,940 INFO L273 TraceCheckUtils]: 3: Hoare triple {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} is VALID [2019-02-27 12:59:34,942 INFO L273 TraceCheckUtils]: 4: Hoare triple {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} is VALID [2019-02-27 12:59:34,943 INFO L273 TraceCheckUtils]: 5: Hoare triple {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} is VALID [2019-02-27 12:59:34,945 INFO L273 TraceCheckUtils]: 6: Hoare triple {317#(and (= (select main_a main_x) (select main_a main_y)) (not (= 0 (select main_a main_y))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {318#(and (not (= 0 (select main_a main_x))) (not (= 0 (select main_a main_y))))} is VALID [2019-02-27 12:59:34,947 INFO L273 TraceCheckUtils]: 7: Hoare triple {318#(and (not (= 0 (select main_a main_x))) (not (= 0 (select main_a main_y))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {318#(and (not (= 0 (select main_a main_x))) (not (= 0 (select main_a main_y))))} is VALID [2019-02-27 12:59:34,950 INFO L273 TraceCheckUtils]: 8: Hoare triple {318#(and (not (= 0 (select main_a main_x))) (not (= 0 (select main_a main_y))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {319#(not (= 0 (select main_a main_x)))} is VALID [2019-02-27 12:59:34,951 INFO L273 TraceCheckUtils]: 9: Hoare triple {319#(not (= 0 (select main_a main_x)))} assume a[x] == 0; {314#false} is VALID [2019-02-27 12:59:34,951 INFO L273 TraceCheckUtils]: 10: Hoare triple {314#false} assume !(a[y] == 1000); {314#false} is VALID [2019-02-27 12:59:34,953 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 29 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2019-02-27 12:59:34,953 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:34,953 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-27 12:59:34,953 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-27 12:59:34,954 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-27 12:59:34,954 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-27 12:59:34,954 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-27 12:59:34,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-27 12:59:34,963 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-27 12:59:37,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:37,048 WARN L254 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 78 conjunts are in the unsatisfiable core [2019-02-27 12:59:37,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-27 12:59:37,429 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-02-27 12:59:37,436 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 12 [2019-02-27 12:59:37,446 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,447 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 15 [2019-02-27 12:59:37,449 INFO L301 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,455 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,461 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,462 INFO L208 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:16 [2019-02-27 12:59:37,465 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:37,465 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_28]. (and (= (store (store v_main_a_28 main_x 1000) main_y 0) main_a) (= main_y (+ main_x 1))) [2019-02-27 12:59:37,466 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1))) [2019-02-27 12:59:37,514 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,516 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,517 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 46 [2019-02-27 12:59:37,531 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,533 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,535 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,538 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 59 [2019-02-27 12:59:37,541 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,563 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,596 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,598 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 36 [2019-02-27 12:59:37,608 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:37,610 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2019-02-27 12:59:37,613 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,698 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:37,725 INFO L301 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 2 xjuncts. [2019-02-27 12:59:37,767 INFO L301 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2019-02-27 12:59:37,767 INFO L208 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:47, output treesize:80 [2019-02-27 12:59:40,952 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:40,953 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_29, main_yold]. (let ((.cse0 (select v_main_a_29 (+ main_yold (- 1))))) (and (= 0 (select v_main_a_29 main_yold)) (= .cse0 1000) (= (mod main_yold 256) main_x) (= main_y (mod (+ main_yold 1) 256)) (= (let ((.cse1 (store v_main_a_29 main_x .cse0))) (store .cse1 main_y (select .cse1 main_yold))) main_a))) [2019-02-27 12:59:40,953 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [main_yold]. (let ((.cse1 (select main_a main_y)) (.cse2 (select main_a main_x))) (or (let ((.cse0 (select main_a main_yold)) (.cse3 (select main_a (+ main_yold (- 1))))) (and (= (mod main_yold 256) main_x) (= 0 .cse0) (= main_y (mod (+ main_yold 1) 256)) (= .cse1 .cse0) (= .cse2 .cse3) (= 1000 .cse3))) (let ((.cse4 (select main_a (+ main_x (- 1))))) (and (= main_y (mod (+ main_x 1) 256)) (= .cse1 .cse4) (= main_x (mod main_x 256)) (= 1000 .cse4) (= .cse2 .cse4))))) [2019-02-27 12:59:41,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,086 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,087 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,088 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 55 [2019-02-27 12:59:41,102 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,103 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,105 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,108 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 7 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 69 [2019-02-27 12:59:41,111 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,135 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,154 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,299 WARN L296 Elim1Store]: Array PQE input equivalent to false [2019-02-27 12:59:41,300 INFO L301 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,372 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,379 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,383 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,384 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 12:59:41,385 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,387 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,389 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,391 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,392 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 102 [2019-02-27 12:59:41,430 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,433 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,437 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,443 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:41,444 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 11 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 118 [2019-02-27 12:59:41,449 INFO L301 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,534 INFO L301 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,559 INFO L301 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:41,650 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 12:59:41,651 INFO L208 ElimStorePlain]: Needed 8 recursive calls to eliminate 4 variables, input treesize:157, output treesize:129 [2019-02-27 12:59:43,678 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:43,678 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_prenex_20, main_xold, v_main_a_30, v_subst_4]. (or (let ((.cse1 (mod (+ main_xold 1) 256)) (.cse2 (select v_prenex_20 main_xold)) (.cse3 (select v_prenex_20 (+ main_xold (- 1))))) (and (= main_a (let ((.cse0 (store v_prenex_20 main_x .cse2))) (store .cse0 main_y (select .cse0 .cse1)))) (= main_xold (mod main_xold 256)) (= (select v_prenex_20 .cse1) .cse3) (= 1000 .cse3) (= main_x .cse1) (= main_y (mod (+ .cse1 1) 256)) (= .cse2 .cse3))) (let ((.cse9 (mod v_subst_4 256))) (let ((.cse5 (mod (+ v_subst_4 1) 256)) (.cse4 (select v_main_a_30 v_subst_4)) (.cse8 (select v_main_a_30 .cse9)) (.cse6 (select v_main_a_30 (+ v_subst_4 (- 1))))) (and (= .cse4 (select v_main_a_30 .cse5)) (= .cse6 1000) (= main_y (mod (+ .cse5 1) 256)) (= (let ((.cse7 (store v_main_a_30 main_x .cse8))) (store .cse7 main_y (select .cse7 .cse5))) main_a) (= .cse4 0) (= main_x (mod (+ .cse9 1) 256)) (= .cse8 .cse6))))) [2019-02-27 12:59:43,678 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_4, main_xold]. (or (let ((.cse3 (mod v_subst_4 256))) (let ((.cse1 (mod (+ v_subst_4 1) 256)) (.cse2 (select main_a (+ v_subst_4 (- 1)))) (.cse0 (select main_a .cse3))) (and (= .cse0 (select main_a .cse1)) (= 0 (select main_a v_subst_4)) (= 1000 .cse2) (= main_y (mod (+ .cse1 1) 256)) (= .cse0 .cse2) (= main_x (mod (+ .cse3 1) 256)) (= .cse0 (select main_a main_y))))) (let ((.cse6 (mod (+ main_xold 1) 256))) (let ((.cse5 (select main_a (+ main_xold (- 1)))) (.cse4 (select main_a main_xold)) (.cse7 (mod (+ .cse6 1) 256))) (and (= main_xold (mod main_xold 256)) (= .cse4 .cse5) (= (select main_a main_x) .cse4) (= main_x .cse6) (= main_y .cse7) (= 1000 .cse5) (= .cse4 (select main_a .cse7)))))) [2019-02-27 12:59:43,879 INFO L158 IndexEqualityManager]: detected equality via solver [2019-02-27 12:59:43,881 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,892 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,901 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,903 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,904 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,906 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,909 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,912 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,916 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,923 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,925 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 11 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 118 treesize of output 191 [2019-02-27 12:59:43,956 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,961 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,962 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,965 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,971 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,974 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:43,976 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 17 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 166 [2019-02-27 12:59:43,981 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:44,118 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:44,234 INFO L301 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:44,723 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,725 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,727 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,729 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,732 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,744 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,746 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 109 [2019-02-27 12:59:44,784 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,787 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,789 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,791 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,793 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:44,795 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 11 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 127 [2019-02-27 12:59:44,798 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:44,851 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:44,883 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:45,093 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 12:59:45,094 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:229, output treesize:173 [2019-02-27 12:59:47,110 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:47,110 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_prenex_22, v_subst_4, v_main_a_31, v_subst_5]. (or (let ((.cse3 (mod (+ v_subst_4 1) 256)) (.cse6 (mod v_subst_4 256))) (let ((.cse0 (select v_prenex_22 (+ v_subst_4 (- 1)))) (.cse2 (select v_prenex_22 .cse6)) (.cse1 (mod (+ .cse3 1) 256)) (.cse5 (mod (+ .cse6 1) 256))) (and (= (select v_prenex_22 v_subst_4) 0) (= .cse0 1000) (= (select v_prenex_22 .cse1) .cse2) (= main_y (mod (+ .cse1 1) 256)) (= .cse0 .cse2) (= (select v_prenex_22 .cse3) .cse2) (= (let ((.cse4 (store v_prenex_22 main_x (select v_prenex_22 .cse5)))) (store .cse4 main_y (select .cse4 .cse1))) main_a) (= main_x (mod (+ .cse5 1) 256))))) (let ((.cse12 (mod (+ v_subst_5 1) 256))) (let ((.cse11 (select v_main_a_31 (+ v_subst_5 (- 1)))) (.cse7 (select v_main_a_31 v_subst_5)) (.cse10 (select v_main_a_31 .cse12)) (.cse8 (mod (+ .cse12 1) 256))) (and (= .cse7 (select v_main_a_31 .cse8)) (= (let ((.cse9 (store v_main_a_31 main_x .cse10))) (store .cse9 main_y (select .cse9 .cse8))) main_a) (= .cse7 .cse11) (= 1000 .cse11) (= .cse7 .cse10) (= main_y (mod (+ .cse8 1) 256)) (= main_x .cse8) (= v_subst_5 (mod v_subst_5 256)))))) [2019-02-27 12:59:47,111 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_5, v_subst_4]. (let ((.cse2 (select main_a main_y))) (or (let ((.cse4 (mod (+ v_subst_5 1) 256))) (let ((.cse0 (select main_a .cse4)) (.cse3 (select main_a v_subst_5)) (.cse1 (mod (+ .cse4 1) 256))) (and (= .cse0 (select main_a .cse1)) (= .cse0 .cse2) (= .cse3 .cse0) (= .cse3 (select main_a (+ v_subst_5 (- 1)))) (= main_y (mod (+ .cse1 1) 256)) (= .cse3 1000) (= main_x .cse1) (= v_subst_5 (mod v_subst_5 256))))) (let ((.cse9 (mod (+ v_subst_4 1) 256))) (let ((.cse5 (select main_a (mod v_subst_4 256))) (.cse7 (select main_a (+ v_subst_4 (- 1)))) (.cse8 (mod (+ .cse9 1) 256)) (.cse6 (select main_a .cse9))) (and (= .cse5 .cse6) (= 0 (select main_a v_subst_4)) (= 1000 .cse7) (= main_y (mod (+ .cse8 1) 256)) (= .cse5 .cse7) (= .cse6 .cse2) (= main_x .cse8) (= .cse6 (select main_a main_x))))))) [2019-02-27 12:59:47,399 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,402 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,403 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,404 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,407 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,411 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,414 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,415 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,416 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,417 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 97 treesize of output 196 [2019-02-27 12:59:47,463 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,467 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,468 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,469 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,474 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:47,475 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 214 [2019-02-27 12:59:47,495 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:47,909 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:47,943 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:49,525 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,551 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,558 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,578 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,591 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,606 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,635 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,682 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,700 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,711 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,730 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,741 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,761 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,802 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,829 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,830 INFO L292 Elim1Store]: Index analysis took 336 ms [2019-02-27 12:59:49,831 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 108 treesize of output 251 [2019-02-27 12:59:49,877 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,880 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,881 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,885 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,888 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,889 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,892 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 12:59:49,894 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 23 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 96 treesize of output 275 [2019-02-27 12:59:49,899 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 12:59:50,117 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:50,224 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 12:59:50,777 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 12:59:50,777 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:313, output treesize:235 [2019-02-27 12:59:52,803 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 12:59:52,803 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_prenex_24, v_subst_5, v_main_a_32, v_subst_4]. (or (let ((.cse6 (mod (+ v_subst_5 1) 256))) (let ((.cse5 (mod (+ .cse6 1) 256))) (let ((.cse2 (select v_prenex_24 .cse6)) (.cse3 (select v_prenex_24 .cse5)) (.cse0 (mod (+ .cse5 1) 256)) (.cse1 (select v_prenex_24 v_subst_5))) (and (= main_x .cse0) (= .cse1 .cse2) (= (select v_prenex_24 .cse0) .cse2) (= .cse3 .cse2) (= (let ((.cse4 (store v_prenex_24 main_x .cse3))) (store .cse4 main_y (select .cse4 .cse0))) main_a) (= .cse1 1000) (= v_subst_5 (mod v_subst_5 256)) (= main_y (mod (+ .cse0 1) 256)) (= .cse1 (select v_prenex_24 (+ v_subst_5 (- 1)))))))) (let ((.cse14 (mod (+ v_subst_4 1) 256))) (let ((.cse13 (mod (+ .cse14 1) 256))) (let ((.cse8 (select v_main_a_32 (+ v_subst_4 (- 1)))) (.cse10 (select v_main_a_32 (mod v_subst_4 256))) (.cse7 (mod (+ .cse13 1) 256)) (.cse9 (select v_main_a_32 .cse14)) (.cse12 (select v_main_a_32 .cse13))) (and (= (mod (+ .cse7 1) 256) main_y) (= (select v_main_a_32 v_subst_4) 0) (= 1000 .cse8) (= .cse9 .cse10) (= .cse8 .cse10) (= (select v_main_a_32 .cse7) .cse9) (= main_x .cse7) (= (let ((.cse11 (store v_main_a_32 main_x .cse12))) (store .cse11 main_y (select .cse11 .cse7))) main_a) (= .cse9 .cse12)))))) [2019-02-27 12:59:52,803 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_5, v_subst_4]. (let ((.cse5 (select main_a main_y)) (.cse4 (select main_a main_x))) (or (let ((.cse7 (mod (+ v_subst_5 1) 256))) (let ((.cse6 (mod (+ .cse7 1) 256))) (let ((.cse2 (select main_a v_subst_5)) (.cse1 (select main_a .cse6)) (.cse0 (select main_a .cse7)) (.cse3 (mod (+ .cse6 1) 256))) (and (= .cse0 .cse1) (= .cse2 .cse0) (= .cse2 (select main_a (+ v_subst_5 (- 1)))) (= main_x .cse3) (= .cse1 .cse4) (= .cse1 .cse5) (= v_subst_5 (mod v_subst_5 256)) (= .cse0 1000) (= main_y (mod (+ .cse3 1) 256)))))) (let ((.cse13 (mod (+ v_subst_4 1) 256))) (let ((.cse12 (mod (+ .cse13 1) 256))) (let ((.cse11 (select main_a (+ v_subst_4 (- 1)))) (.cse9 (select main_a .cse13)) (.cse10 (select main_a .cse12)) (.cse8 (mod (+ .cse12 1) 256))) (and (= (mod (+ .cse8 1) 256) main_y) (= .cse9 .cse10) (= 0 (select main_a v_subst_4)) (= 1000 .cse11) (= .cse5 .cse10) (= (select main_a (mod v_subst_4 256)) .cse11) (= .cse9 1000) (= .cse4 .cse10) (= main_x .cse8))))))) [2019-02-27 13:00:04,777 WARN L181 SmtUtils]: Spent 2.08 s on a formula simplification that was a NOOP. DAG size: 64 [2019-02-27 13:00:04,882 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,883 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,886 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,888 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,901 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,904 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,909 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,911 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,913 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,915 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,918 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,922 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,939 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:04,940 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 15 disjoint index pairs (out of 15 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 144 treesize of output 337 [2019-02-27 13:00:05,082 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,091 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,095 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,100 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,106 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,109 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,115 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:05,116 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 22 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 128 treesize of output 367 [2019-02-27 13:00:05,121 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,283 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:05,330 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:07,264 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,280 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,290 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,443 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,459 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,529 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,651 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,693 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,721 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,729 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,816 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,935 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:07,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,049 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,077 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,142 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,223 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,267 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,337 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,373 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,475 INFO L292 Elim1Store]: Index analysis took 1286 ms [2019-02-27 13:00:08,476 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 22 disjoint index pairs (out of 21 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 147 treesize of output 402 [2019-02-27 13:00:08,550 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,579 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,628 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,665 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,667 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,680 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,686 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,689 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:08,690 INFO L292 Elim1Store]: Index analysis took 174 ms [2019-02-27 13:00:08,691 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 30 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 131 treesize of output 438 [2019-02-27 13:00:08,697 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:10,303 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:10,852 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:12,346 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 13:00:12,346 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:423, output treesize:319 [2019-02-27 13:00:14,368 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:00:14,368 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_prenex_25, v_subst_5, v_main_a_33, v_subst_4]. (or (let ((.cse6 (mod (+ v_subst_5 1) 256))) (let ((.cse8 (mod (+ .cse6 1) 256))) (let ((.cse7 (mod (+ .cse8 1) 256))) (let ((.cse0 (select v_prenex_25 .cse8)) (.cse2 (mod (+ .cse7 1) 256)) (.cse4 (select v_prenex_25 .cse7)) (.cse3 (select v_prenex_25 v_subst_5)) (.cse1 (select v_prenex_25 .cse6))) (and (= .cse0 .cse1) (= .cse0 (select v_prenex_25 .cse2)) (= main_x .cse2) (= .cse3 (select v_prenex_25 (+ v_subst_5 (- 1)))) (= .cse0 .cse4) (= main_y (mod (+ .cse2 1) 256)) (= 1000 .cse1) (= main_a (let ((.cse5 (store v_prenex_25 main_x .cse4))) (store .cse5 main_y (select .cse5 .cse2)))) (= v_subst_5 (mod v_subst_5 256)) (= .cse3 .cse1)))))) (let ((.cse16 (mod (+ v_subst_4 1) 256))) (let ((.cse17 (mod (+ .cse16 1) 256))) (let ((.cse15 (mod (+ .cse17 1) 256))) (let ((.cse13 (select v_main_a_33 (+ v_subst_4 (- 1)))) (.cse11 (select v_main_a_33 .cse17)) (.cse10 (select v_main_a_33 .cse16)) (.cse9 (mod (+ .cse15 1) 256)) (.cse12 (select v_main_a_33 .cse15))) (and (= main_y (mod (+ .cse9 1) 256)) (= .cse10 1000) (= .cse11 (select v_main_a_33 .cse9)) (= (select v_main_a_33 v_subst_4) 0) (= .cse11 .cse12) (= (select v_main_a_33 (mod v_subst_4 256)) .cse13) (= .cse9 main_x) (= 1000 .cse13) (= .cse11 .cse10) (= (let ((.cse14 (store v_main_a_33 main_x .cse12))) (store .cse14 main_y (select .cse14 .cse9))) main_a))))))) [2019-02-27 13:00:14,368 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_4, v_subst_5]. (let ((.cse6 (select main_a main_y)) (.cse4 (select main_a main_x))) (or (let ((.cse3 (mod (+ v_subst_4 1) 256))) (let ((.cse8 (mod (+ .cse3 1) 256))) (let ((.cse7 (mod (+ .cse8 1) 256))) (let ((.cse1 (select main_a .cse8)) (.cse2 (select main_a .cse7)) (.cse5 (select main_a (+ v_subst_4 (- 1)))) (.cse0 (mod (+ .cse7 1) 256))) (and (= main_y (mod (+ .cse0 1) 256)) (= 1000 .cse1) (= .cse2 .cse1) (= (select main_a .cse3) .cse1) (= .cse2 .cse4) (= 0 (select main_a v_subst_4)) (= 1000 .cse5) (= .cse2 .cse6) (= (select main_a (mod v_subst_4 256)) .cse5) (= .cse0 main_x)))))) (let ((.cse14 (mod (+ v_subst_5 1) 256))) (let ((.cse16 (mod (+ .cse14 1) 256))) (let ((.cse15 (mod (+ .cse16 1) 256))) (let ((.cse11 (select main_a v_subst_5)) (.cse9 (select main_a .cse15)) (.cse13 (select main_a .cse16)) (.cse10 (mod (+ .cse15 1) 256)) (.cse12 (select main_a .cse14))) (and (= .cse9 .cse6) (= main_x .cse10) (= .cse11 .cse12) (= .cse11 (select main_a (+ v_subst_5 (- 1)))) (= .cse13 1000) (= .cse9 .cse4) (= .cse9 .cse13) (= main_y (mod (+ .cse10 1) 256)) (= v_subst_5 (mod v_subst_5 256)) (= .cse12 1000)))))))) [2019-02-27 13:00:30,484 WARN L181 SmtUtils]: Spent 2.04 s on a formula simplification that was a NOOP. DAG size: 72 [2019-02-27 13:00:30,729 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,747 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,765 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,774 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,797 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,815 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,846 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,875 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,888 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,918 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,931 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,935 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,950 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:30,973 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,019 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,031 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,038 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,055 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,082 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,082 INFO L292 Elim1Store]: Index analysis took 389 ms [2019-02-27 13:00:31,083 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 21 disjoint index pairs (out of 21 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 189 treesize of output 528 [2019-02-27 13:00:31,225 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,227 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,234 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,237 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,239 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,241 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,244 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,248 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:31,250 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 29 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 169 treesize of output 574 [2019-02-27 13:00:31,258 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,532 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:31,655 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:47,560 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,619 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,736 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,763 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:47,931 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,115 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,557 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,745 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,921 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:48,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,085 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,182 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,276 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,380 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,517 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,663 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,724 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,773 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:49,855 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:50,704 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:50,958 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:51,687 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:51,747 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:51,954 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:52,448 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:52,449 INFO L292 Elim1Store]: Index analysis took 5049 ms [2019-02-27 13:00:52,450 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 29 disjoint index pairs (out of 28 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 202 treesize of output 625 [2019-02-27 13:00:53,001 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,004 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,007 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,012 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,013 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,015 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,021 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,023 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,026 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:00:53,027 INFO L292 Elim1Store]: Index analysis took 384 ms [2019-02-27 13:00:53,028 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 38 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 182 treesize of output 701 [2019-02-27 13:00:53,034 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 13:00:56,374 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:00:57,807 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:00,846 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 13:01:00,846 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:547, output treesize:435 [2019-02-27 13:01:02,880 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:01:02,881 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_34, v_subst_4, v_prenex_26, v_subst_5]. (or (let ((.cse6 (mod (+ v_subst_4 1) 256))) (let ((.cse7 (mod (+ .cse6 1) 256))) (let ((.cse8 (mod (+ .cse7 1) 256))) (let ((.cse9 (mod (+ .cse8 1) 256))) (let ((.cse0 (select v_main_a_34 .cse9)) (.cse3 (mod (+ .cse9 1) 256)) (.cse1 (select v_main_a_34 .cse8)) (.cse2 (select v_main_a_34 .cse7)) (.cse4 (select v_main_a_34 (+ v_subst_4 (- 1))))) (and (= .cse0 .cse1) (= .cse2 .cse1) (= main_y (mod (+ .cse3 1) 256)) (= .cse4 1000) (= (select v_main_a_34 v_subst_4) 0) (= .cse2 1000) (= main_a (let ((.cse5 (store v_main_a_34 main_x .cse0))) (store .cse5 main_y (select .cse5 .cse3)))) (= main_x .cse3) (= (select v_main_a_34 .cse3) .cse1) (= .cse2 (select v_main_a_34 .cse6)) (= .cse4 (select v_main_a_34 (mod v_subst_4 256))))))))) (let ((.cse20 (mod (+ v_subst_5 1) 256))) (let ((.cse18 (mod (+ .cse20 1) 256))) (let ((.cse17 (mod (+ .cse18 1) 256))) (let ((.cse19 (mod (+ .cse17 1) 256))) (let ((.cse11 (select v_prenex_26 .cse20)) (.cse13 (mod (+ .cse19 1) 256)) (.cse15 (select v_prenex_26 .cse19)) (.cse12 (select v_prenex_26 .cse18)) (.cse14 (select v_prenex_26 .cse17)) (.cse10 (select v_prenex_26 v_subst_5))) (and (= .cse10 .cse11) (= 1000 .cse12) (= main_x .cse13) (= .cse14 (select v_prenex_26 .cse13)) (= .cse14 .cse15) (= .cse11 1000) (= main_y (mod (+ .cse13 1) 256)) (= (let ((.cse16 (store v_prenex_26 main_x .cse15))) (store .cse16 main_y (select .cse16 .cse13))) main_a) (= .cse12 .cse14) (= .cse10 (select v_prenex_26 (+ v_subst_5 (- 1)))) (= v_subst_5 (mod v_subst_5 256))))))))) [2019-02-27 13:01:02,881 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_5, v_subst_4]. (let ((.cse0 (select main_a main_x))) (or (let ((.cse7 (mod (+ v_subst_5 1) 256))) (let ((.cse8 (mod (+ .cse7 1) 256))) (let ((.cse9 (mod (+ .cse8 1) 256))) (let ((.cse10 (mod (+ .cse9 1) 256))) (let ((.cse3 (select main_a v_subst_5)) (.cse5 (mod (+ .cse10 1) 256)) (.cse1 (select main_a .cse10)) (.cse2 (select main_a .cse9)) (.cse6 (select main_a .cse8)) (.cse4 (select main_a .cse7))) (and (= .cse0 .cse1) (= .cse2 .cse1) (= .cse3 .cse4) (= main_x .cse5) (= .cse3 (select main_a (+ v_subst_5 (- 1)))) (= .cse6 1000) (= main_y (mod (+ .cse5 1) 256)) (= (select main_a main_y) .cse1) (= .cse2 .cse6) (= v_subst_5 (mod v_subst_5 256)) (= .cse4 1000))))))) (let ((.cse11 (mod (+ v_subst_4 1) 256))) (let ((.cse20 (mod (+ .cse11 1) 256))) (let ((.cse19 (mod (+ .cse20 1) 256))) (let ((.cse18 (mod (+ .cse19 1) 256))) (let ((.cse16 (mod (+ .cse18 1) 256))) (let ((.cse12 (select main_a .cse20)) (.cse15 (select main_a (+ v_subst_4 (- 1)))) (.cse17 (select main_a .cse19)) (.cse14 (select main_a .cse18)) (.cse13 (mod (+ .cse16 1) 256))) (and (= (select main_a .cse11) .cse12) (= 1000 .cse12) (= main_y .cse13) (= 0 (select main_a v_subst_4)) (= .cse14 .cse0) (= 1000 .cse15) (= (select main_a (mod v_subst_4 256)) .cse15) (= main_x .cse16) (= .cse17 .cse14) (= .cse17 1000) (= .cse14 (select main_a .cse13))))))))))) [2019-02-27 13:01:28,366 WARN L181 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 81 [2019-02-27 13:01:28,536 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:28,600 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:28,611 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:28,694 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:28,746 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:28,819 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:28,991 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,064 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,148 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,179 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,355 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,477 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,518 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,575 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,730 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,786 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,858 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:29,944 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,020 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,115 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,400 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,590 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,655 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,832 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:30,967 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,113 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,332 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,507 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:31,625 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,282 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,303 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,350 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,516 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,569 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,684 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,817 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,818 INFO L292 Elim1Store]: Index analysis took 4337 ms [2019-02-27 13:01:32,819 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 37 disjoint index pairs (out of 36 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 251 treesize of output 1126 [2019-02-27 13:01:32,925 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,932 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,938 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,961 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,975 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,982 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,984 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,996 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:32,998 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:33,003 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:01:33,004 INFO L292 Elim1Store]: Index analysis took 116 ms [2019-02-27 13:01:33,005 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 46 disjoint index pairs (out of 36 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 251 treesize of output 1222 [2019-02-27 13:01:33,012 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 13:01:38,257 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:01:39,970 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:23,188 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,190 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,192 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,194 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,205 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,219 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,221 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,223 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,236 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,249 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,266 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,284 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,314 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,319 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,322 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,323 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,333 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,354 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,355 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,357 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,364 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,368 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,428 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,459 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,468 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,470 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,471 INFO L292 Elim1Store]: Index analysis took 299 ms [2019-02-27 13:02:23,472 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 28 disjoint index pairs (out of 28 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 248 treesize of output 797 [2019-02-27 13:02:23,587 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,589 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,597 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,602 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,603 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,606 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,609 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,612 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,616 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:23,619 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 37 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 224 treesize of output 863 [2019-02-27 13:02:23,651 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,201 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:24,545 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:02:27,792 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 13:02:27,793 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:679, output treesize:525 [2019-02-27 13:02:29,828 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:02:29,828 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_main_a_35, v_subst_5, v_prenex_27, v_subst_4]. (or (let ((.cse12 (mod (+ v_subst_5 1) 256))) (let ((.cse8 (mod (+ .cse12 1) 256))) (let ((.cse9 (mod (+ .cse8 1) 256))) (let ((.cse10 (mod (+ .cse9 1) 256))) (let ((.cse11 (mod (+ .cse10 1) 256))) (let ((.cse3 (select v_main_a_35 .cse11)) (.cse0 (select v_main_a_35 .cse12)) (.cse2 (mod (+ .cse11 1) 256)) (.cse5 (select v_main_a_35 v_subst_5)) (.cse4 (select v_main_a_35 .cse10)) (.cse7 (select v_main_a_35 .cse9)) (.cse6 (select v_main_a_35 .cse8))) (and (= .cse0 1000) (= (let ((.cse1 (store v_main_a_35 main_x .cse3))) (store .cse1 main_y (select .cse1 .cse2))) main_a) (= .cse3 .cse4) (= (mod (+ .cse2 1) 256) main_y) (= (select v_main_a_35 .cse2) .cse4) (= .cse0 .cse5) (= main_x .cse2) (= .cse6 .cse7) (= .cse5 (select v_main_a_35 (+ v_subst_5 (- 1)))) (= .cse4 .cse7) (= 1000 .cse6) (= v_subst_5 (mod v_subst_5 256))))))))) (let ((.cse17 (mod (+ v_subst_4 1) 256))) (let ((.cse24 (mod (+ .cse17 1) 256))) (let ((.cse22 (mod (+ .cse24 1) 256))) (let ((.cse21 (mod (+ .cse22 1) 256))) (let ((.cse23 (mod (+ .cse21 1) 256))) (let ((.cse18 (select v_prenex_27 (+ v_subst_4 (- 1)))) (.cse15 (select v_prenex_27 .cse23)) (.cse16 (select v_prenex_27 .cse24)) (.cse14 (mod (+ .cse23 1) 256)) (.cse20 (select v_prenex_27 .cse22)) (.cse19 (select v_prenex_27 .cse21))) (and (= (let ((.cse13 (store v_prenex_27 main_x .cse15))) (store .cse13 main_y (select .cse13 .cse14))) main_a) (= .cse16 (select v_prenex_27 .cse17)) (= .cse18 (select v_prenex_27 (mod v_subst_4 256))) (= .cse18 1000) (= (select v_prenex_27 v_subst_4) 0) (= .cse15 .cse19) (= 1000 .cse20) (= main_x .cse14) (= .cse16 1000) (= main_y (mod (+ .cse14 1) 256)) (= (select v_prenex_27 .cse14) .cse19) (= .cse20 .cse19))))))))) [2019-02-27 13:02:29,828 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_4, v_subst_5]. (let ((.cse6 (select main_a main_y))) (or (let ((.cse2 (mod (+ v_subst_4 1) 256))) (let ((.cse10 (mod (+ .cse2 1) 256))) (let ((.cse7 (mod (+ .cse10 1) 256))) (let ((.cse9 (mod (+ .cse7 1) 256))) (let ((.cse8 (mod (+ .cse9 1) 256))) (let ((.cse3 (select main_a .cse10)) (.cse4 (select main_a (+ v_subst_4 (- 1)))) (.cse0 (mod (+ .cse8 1) 256)) (.cse5 (select main_a .cse9)) (.cse1 (select main_a .cse8))) (and (= (select main_a .cse0) .cse1) (= (select main_a .cse2) .cse3) (= 1000 .cse3) (= 0 (select main_a v_subst_4)) (= 1000 .cse4) (= main_x .cse0) (= .cse5 1000) (= (select main_a (mod v_subst_4 256)) .cse4) (= .cse6 .cse1) (= main_y (mod (+ .cse0 1) 256)) (= (select main_a .cse7) 1000) (= .cse5 .cse1)))))))) (let ((.cse18 (mod (+ v_subst_5 1) 256))) (let ((.cse21 (mod (+ .cse18 1) 256))) (let ((.cse17 (mod (+ .cse21 1) 256))) (let ((.cse19 (mod (+ .cse17 1) 256))) (let ((.cse20 (mod (+ .cse19 1) 256))) (let ((.cse12 (select main_a v_subst_5)) (.cse14 (mod (+ .cse20 1) 256)) (.cse15 (select main_a .cse21)) (.cse16 (select main_a .cse20)) (.cse11 (select main_a .cse19)) (.cse13 (select main_a .cse18))) (and (= 1000 .cse11) (= .cse12 .cse13) (= .cse12 (select main_a (+ v_subst_5 (- 1)))) (= (mod (+ .cse14 1) 256) main_y) (= .cse15 1000) (= main_x .cse14) (= .cse16 (select main_a main_x)) (= (select main_a .cse17) .cse15) (= .cse16 .cse6) (= .cse16 .cse11) (= v_subst_5 (mod v_subst_5 256)) (= .cse13 1000)))))))))) [2019-02-27 13:02:58,457 WARN L181 SmtUtils]: Spent 3.72 s on a formula simplification that was a NOOP. DAG size: 89 [2019-02-27 13:02:58,593 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,595 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,615 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,631 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,632 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,645 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,647 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,672 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,708 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,751 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,772 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,780 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,798 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,801 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,848 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,864 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,896 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,929 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,949 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,971 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:58,994 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,296 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,299 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,301 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,324 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,327 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,330 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,332 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,376 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,378 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,401 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,426 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,440 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,442 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,458 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,458 INFO L292 Elim1Store]: Index analysis took 887 ms [2019-02-27 13:02:59,460 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 36 disjoint index pairs (out of 36 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 301 treesize of output 1136 [2019-02-27 13:02:59,592 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,608 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,616 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,622 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,626 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,629 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,632 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,638 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,642 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,648 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:02:59,649 INFO L292 Elim1Store]: Index analysis took 119 ms [2019-02-27 13:02:59,651 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 46 disjoint index pairs (out of 36 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 273 treesize of output 1226 [2019-02-27 13:02:59,684 INFO L301 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,242 INFO L301 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:01,717 INFO L301 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:03:37,870 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:38,070 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:38,263 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:38,511 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:38,821 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:38,959 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:39,146 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:41,150 WARN L146 IndexEqualityManager]: solver failed to check if following equality is implied: (= (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) (+ v_subst_4 (- 1))) [2019-02-27 13:03:41,151 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:41,351 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:41,456 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:41,589 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,218 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,253 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,402 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,592 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,641 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,784 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:42,955 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:43,376 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:43,610 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:43,742 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:43,900 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:44,359 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:44,894 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:46,141 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:46,281 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:46,326 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:46,445 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:46,602 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:46,794 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:48,893 WARN L146 IndexEqualityManager]: solver failed to check if following equality is implied: (= main_x (mod (+ (mod (+ v_subst_4 1) 256) 1) 256)) [2019-02-27 13:03:48,897 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,044 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,145 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,542 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,661 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,776 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,867 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:49,908 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:50,242 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:50,312 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:50,427 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:50,705 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:50,763 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:50,934 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,107 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,242 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,242 INFO L292 Elim1Store]: Index analysis took 13792 ms [2019-02-27 13:03:51,243 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 10 select indices, 10 select index equivalence classes, 46 disjoint index pairs (out of 45 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 304 treesize of output 1279 [2019-02-27 13:03:51,451 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,456 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,459 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,463 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,468 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,471 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,475 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,528 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,649 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,652 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,660 INFO L176 IndexEqualityManager]: detected not equals via solver [2019-02-27 13:03:51,661 INFO L292 Elim1Store]: Index analysis took 349 ms [2019-02-27 13:03:51,662 INFO L467 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 10 select indices, 10 select index equivalence classes, 57 disjoint index pairs (out of 45 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 276 treesize of output 1375 [2019-02-27 13:03:51,670 INFO L301 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-02-27 13:04:03,106 INFO L301 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:07,689 INFO L301 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-27 13:04:15,459 INFO L301 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2019-02-27 13:04:15,459 INFO L208 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:809, output treesize:621 [2019-02-27 13:04:17,500 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-27 13:04:17,501 WARN L398 uantifierElimination]: Input elimination task: ∃ [v_prenex_28, v_subst_5, v_main_a_36, v_subst_4]. (or (let ((.cse13 (mod (+ v_subst_5 1) 256))) (let ((.cse12 (mod (+ .cse13 1) 256))) (let ((.cse4 (mod (+ .cse12 1) 256))) (let ((.cse10 (mod (+ .cse4 1) 256))) (let ((.cse11 (mod (+ .cse10 1) 256))) (let ((.cse9 (mod (+ .cse11 1) 256))) (let ((.cse3 (select v_prenex_28 v_subst_5)) (.cse2 (select v_prenex_28 .cse13)) (.cse5 (select v_prenex_28 .cse12)) (.cse0 (select v_prenex_28 .cse11)) (.cse6 (select v_prenex_28 .cse10)) (.cse1 (mod (+ .cse9 1) 256)) (.cse7 (select v_prenex_28 .cse9))) (and (= .cse0 (select v_prenex_28 .cse1)) (= .cse1 main_x) (= 1000 .cse2) (= (select v_prenex_28 (+ v_subst_5 (- 1))) .cse3) (= (select v_prenex_28 .cse4) .cse5) (= main_y (mod (+ .cse1 1) 256)) (= .cse3 .cse2) (= 1000 .cse6) (= .cse0 .cse7) (= 1000 .cse5) (= .cse0 .cse6) (= (let ((.cse8 (store v_prenex_28 main_x .cse7))) (store .cse8 main_y (select .cse8 .cse1))) main_a) (= v_subst_5 (mod v_subst_5 256)))))))))) (let ((.cse18 (mod (+ v_subst_4 1) 256))) (let ((.cse25 (mod (+ .cse18 1) 256))) (let ((.cse21 (mod (+ .cse25 1) 256))) (let ((.cse26 (mod (+ .cse21 1) 256))) (let ((.cse23 (mod (+ .cse26 1) 256))) (let ((.cse24 (mod (+ .cse23 1) 256))) (let ((.cse14 (select v_main_a_36 .cse26)) (.cse19 (select v_main_a_36 .cse24)) (.cse17 (select v_main_a_36 .cse25)) (.cse20 (select v_main_a_36 (+ v_subst_4 (- 1)))) (.cse16 (mod (+ .cse24 1) 256)) (.cse15 (select v_main_a_36 .cse23))) (and (= .cse14 .cse15) (= main_y (mod (+ .cse16 1) 256)) (= .cse17 (select v_main_a_36 .cse18)) (= .cse15 .cse19) (= main_x .cse16) (= .cse14 1000) (= .cse20 (select v_main_a_36 (mod v_subst_4 256))) (= (select v_main_a_36 .cse21) 1000) (= 0 (select v_main_a_36 v_subst_4)) (= (let ((.cse22 (store v_main_a_36 main_x .cse19))) (store .cse22 main_y (select .cse22 .cse16))) main_a) (= 1000 .cse17) (= .cse20 1000) (= (select v_main_a_36 .cse16) .cse15)))))))))) [2019-02-27 13:04:17,501 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_4, v_subst_5]. (let ((.cse2 (select main_a main_y)) (.cse4 (select main_a main_x))) (or (let ((.cse6 (mod (+ v_subst_4 1) 256))) (let ((.cse10 (mod (+ .cse6 1) 256))) (let ((.cse9 (mod (+ .cse10 1) 256))) (let ((.cse5 (mod (+ .cse9 1) 256))) (let ((.cse11 (mod (+ .cse5 1) 256))) (let ((.cse12 (mod (+ .cse11 1) 256))) (let ((.cse0 (mod (+ .cse12 1) 256)) (.cse3 (select main_a .cse12)) (.cse1 (select main_a .cse11)) (.cse7 (select main_a .cse10)) (.cse8 (select main_a (+ v_subst_4 (- 1))))) (and (= main_y (mod (+ .cse0 1) 256)) (= main_x .cse0) (= 1000 .cse1) (= .cse2 .cse3) (= .cse4 .cse3) (= (select main_a .cse5) .cse1) (= .cse3 .cse1) (= (select main_a .cse6) .cse7) (= 1000 .cse7) (= 0 (select main_a v_subst_4)) (= 1000 .cse8) (= (select main_a (mod v_subst_4 256)) .cse8) (= (select main_a .cse9) 1000))))))))) (let ((.cse21 (mod (+ v_subst_5 1) 256))) (let ((.cse22 (mod (+ .cse21 1) 256))) (let ((.cse20 (mod (+ .cse22 1) 256))) (let ((.cse13 (mod (+ .cse20 1) 256))) (let ((.cse24 (mod (+ .cse13 1) 256))) (let ((.cse23 (mod (+ .cse24 1) 256))) (let ((.cse15 (mod (+ .cse23 1) 256)) (.cse17 (select main_a .cse24)) (.cse14 (select main_a .cse23)) (.cse16 (select main_a v_subst_5)) (.cse19 (select main_a .cse22)) (.cse18 (select main_a .cse21))) (and (= 1000 (select main_a .cse13)) (= .cse2 .cse14) (= .cse4 .cse14) (= .cse15 main_x) (= .cse16 (select main_a (+ v_subst_5 (- 1)))) (= .cse17 1000) (= main_y (mod (+ .cse15 1) 256)) (= .cse17 .cse14) (= .cse16 .cse18) (= .cse19 1000) (= (select main_a .cse20) .cse19) (= v_subst_5 (mod v_subst_5 256)) (= .cse18 1000))))))))))) [2019-02-27 13:04:19,588 WARN L838 $PredicateComparison]: unable to prove that (or (exists ((v_subst_5 Int)) (let ((.cse8 (mod (+ v_subst_5 1) 256))) (let ((.cse9 (mod (+ .cse8 1) 256))) (let ((.cse7 (mod (+ .cse9 1) 256))) (let ((.cse0 (mod (+ .cse7 1) 256))) (let ((.cse11 (mod (+ .cse0 1) 256))) (let ((.cse10 (mod (+ .cse11 1) 256))) (let ((.cse2 (mod (+ .cse10 1) 256)) (.cse4 (select c_main_a .cse11)) (.cse1 (select c_main_a .cse10)) (.cse3 (select c_main_a v_subst_5)) (.cse6 (select c_main_a .cse9)) (.cse5 (select c_main_a .cse8))) (and (= 1000 (select c_main_a .cse0)) (= (select c_main_a c_main_y) .cse1) (= (select c_main_a c_main_x) .cse1) (= .cse2 c_main_x) (= .cse3 (select c_main_a (+ v_subst_5 (- 1)))) (= .cse4 1000) (= c_main_y (mod (+ .cse2 1) 256)) (= .cse4 .cse1) (= .cse3 .cse5) (= .cse6 1000) (= (select c_main_a .cse7) .cse6) (= v_subst_5 (mod v_subst_5 256)) (= .cse5 1000)))))))))) (exists ((v_subst_4 Int)) (let ((.cse16 (mod (+ v_subst_4 1) 256))) (let ((.cse20 (mod (+ .cse16 1) 256))) (let ((.cse19 (mod (+ .cse20 1) 256))) (let ((.cse15 (mod (+ .cse19 1) 256))) (let ((.cse21 (mod (+ .cse15 1) 256))) (let ((.cse22 (mod (+ .cse21 1) 256))) (let ((.cse12 (mod (+ .cse22 1) 256)) (.cse13 (select c_main_a .cse22)) (.cse14 (select c_main_a .cse21)) (.cse17 (select c_main_a .cse20)) (.cse18 (select c_main_a (+ v_subst_4 (- 1))))) (and (= c_main_y (mod (+ .cse12 1) 256)) (= c_main_x .cse12) (= (select c_main_a c_main_y) .cse13) (= 1000 .cse14) (= (select c_main_a c_main_x) .cse13) (= (select c_main_a .cse15) .cse14) (= .cse13 .cse14) (= (select c_main_a .cse16) .cse17) (= 1000 .cse17) (= 0 (select c_main_a v_subst_4)) (= 1000 .cse18) (= (select c_main_a (mod v_subst_4 256)) .cse18) (= (select c_main_a .cse19) 1000))))))))))) is different from false [2019-02-27 13:04:19,656 INFO L273 TraceCheckUtils]: 0: Hoare triple {313#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {323#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} is VALID [2019-02-27 13:04:20,576 INFO L273 TraceCheckUtils]: 1: Hoare triple {323#(and (= (select main_a main_x) 1000) (= (select main_a main_y) 0) (= main_y (+ main_x 1)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {327#(or (exists ((main_yold Int)) (and (= (mod main_yold 256) main_x) (= 0 (select main_a main_yold)) (= main_y (mod (+ main_yold 1) 256)) (= (select main_a main_y) (select main_a main_yold)) (= (select main_a main_x) (select main_a (+ main_yold (- 1)))) (= 1000 (select main_a (+ main_yold (- 1)))))) (and (= main_y (mod (+ main_x 1) 256)) (= (select main_a main_y) (select main_a (+ main_x (- 1)))) (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} is VALID [2019-02-27 13:04:22,589 INFO L273 TraceCheckUtils]: 2: Hoare triple {327#(or (exists ((main_yold Int)) (and (= (mod main_yold 256) main_x) (= 0 (select main_a main_yold)) (= main_y (mod (+ main_yold 1) 256)) (= (select main_a main_y) (select main_a main_yold)) (= (select main_a main_x) (select main_a (+ main_yold (- 1)))) (= 1000 (select main_a (+ main_yold (- 1)))))) (and (= main_y (mod (+ main_x 1) 256)) (= (select main_a main_y) (select main_a (+ main_x (- 1)))) (= main_x (mod main_x 256)) (= 1000 (select main_a (+ main_x (- 1)))) (= (select main_a main_x) (select main_a (+ main_x (- 1))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {331#(or (exists ((v_subst_4 Int)) (and (= (select main_a (mod v_subst_4 256)) (select main_a (mod (+ v_subst_4 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= main_y (mod (+ (mod (+ v_subst_4 1) 256) 1) 256)) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod v_subst_4 256) 1) 256)) (= (select main_a (mod v_subst_4 256)) (select main_a main_y)))) (exists ((main_xold Int)) (and (= main_xold (mod main_xold 256)) (= (select main_a main_xold) (select main_a (+ main_xold (- 1)))) (= (select main_a main_x) (select main_a main_xold)) (= main_x (mod (+ main_xold 1) 256)) (= main_y (mod (+ (mod (+ main_xold 1) 256) 1) 256)) (= 1000 (select main_a (+ main_xold (- 1)))) (= (select main_a main_xold) (select main_a (mod (+ (mod (+ main_xold 1) 256) 1) 256))))))} is UNKNOWN [2019-02-27 13:04:24,601 INFO L273 TraceCheckUtils]: 3: Hoare triple {331#(or (exists ((v_subst_4 Int)) (and (= (select main_a (mod v_subst_4 256)) (select main_a (mod (+ v_subst_4 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= main_y (mod (+ (mod (+ v_subst_4 1) 256) 1) 256)) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod v_subst_4 256) 1) 256)) (= (select main_a (mod v_subst_4 256)) (select main_a main_y)))) (exists ((main_xold Int)) (and (= main_xold (mod main_xold 256)) (= (select main_a main_xold) (select main_a (+ main_xold (- 1)))) (= (select main_a main_x) (select main_a main_xold)) (= main_x (mod (+ main_xold 1) 256)) (= main_y (mod (+ (mod (+ main_xold 1) 256) 1) 256)) (= 1000 (select main_a (+ main_xold (- 1)))) (= (select main_a main_xold) (select main_a (mod (+ (mod (+ main_xold 1) 256) 1) 256))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {335#(or (exists ((v_subst_4 Int)) (and (= (select main_a (mod v_subst_4 256)) (select main_a (mod (+ v_subst_4 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= main_y (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod (+ v_subst_4 1) 256) 1) 256)) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a main_y)) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a main_x)))) (exists ((v_subst_5 Int)) (and (= (select main_a (mod (+ v_subst_5 1) 256)) (select main_a main_y)) (= (select main_a (mod (+ v_subst_5 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a v_subst_5) 1000) (= main_y (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (= main_x (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) (= v_subst_5 (mod v_subst_5 256)))))} is UNKNOWN [2019-02-27 13:04:26,628 INFO L273 TraceCheckUtils]: 4: Hoare triple {335#(or (exists ((v_subst_4 Int)) (and (= (select main_a (mod v_subst_4 256)) (select main_a (mod (+ v_subst_4 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= main_y (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod (+ v_subst_4 1) 256) 1) 256)) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a main_y)) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a main_x)))) (exists ((v_subst_5 Int)) (and (= (select main_a (mod (+ v_subst_5 1) 256)) (select main_a main_y)) (= (select main_a (mod (+ v_subst_5 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a v_subst_5) 1000) (= main_y (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (= main_x (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) (= v_subst_5 (mod v_subst_5 256)))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {339#(or (exists ((v_subst_5 Int)) (and (= (select main_a (mod (+ v_subst_5 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= main_x (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) (select main_a main_y)) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256)))) (exists ((v_subst_4 Int)) (and (= (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) main_y) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= (select main_a main_y) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod (+ v_subst_4 1) 256)) 1000) (= (select main_a main_x) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= main_x (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)))))} is UNKNOWN [2019-02-27 13:04:28,642 INFO L273 TraceCheckUtils]: 5: Hoare triple {339#(or (exists ((v_subst_5 Int)) (and (= (select main_a (mod (+ v_subst_5 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= main_x (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) (select main_a main_y)) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256)))) (exists ((v_subst_4 Int)) (and (= (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) main_y) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= (select main_a main_y) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod (+ v_subst_4 1) 256)) 1000) (= (select main_a main_x) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= main_x (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {343#(or (exists ((v_subst_5 Int)) (and (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a main_y)) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))) (exists ((v_subst_4 Int)) (and (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a main_y)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) main_x))))} is UNKNOWN [2019-02-27 13:04:30,653 INFO L273 TraceCheckUtils]: 6: Hoare triple {343#(or (exists ((v_subst_5 Int)) (and (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a main_y)) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))) (exists ((v_subst_4 Int)) (and (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a main_y)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) main_x))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {347#(or (exists ((v_subst_4 Int)) (and (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= 0 (select main_a v_subst_4)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))))) (exists ((v_subst_5 Int)) (and (= (select main_a main_x) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))))} is UNKNOWN [2019-02-27 13:04:32,670 INFO L273 TraceCheckUtils]: 7: Hoare triple {347#(or (exists ((v_subst_4 Int)) (and (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= 0 (select main_a v_subst_4)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))))) (exists ((v_subst_5 Int)) (and (= (select main_a main_x) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {351#(or (exists ((v_subst_5 Int)) (and (= 1000 (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) main_y) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a main_y)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))) (exists ((v_subst_4 Int)) (and (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) 1000) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))))))} is UNKNOWN [2019-02-27 13:04:34,685 INFO L273 TraceCheckUtils]: 8: Hoare triple {351#(or (exists ((v_subst_5 Int)) (and (= 1000 (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) main_y) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a main_x)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a main_y)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))) (exists ((v_subst_4 Int)) (and (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) 1000) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {355#(or (exists ((v_subst_5 Int)) (and (= 1000 (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a main_x) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) main_x) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) 1000) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))) (exists ((v_subst_4 Int)) (and (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a main_x) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) 1000))))} is UNKNOWN [2019-02-27 13:04:34,695 INFO L273 TraceCheckUtils]: 9: Hoare triple {355#(or (exists ((v_subst_5 Int)) (and (= 1000 (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a main_x) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) main_x) (= (select main_a v_subst_5) (select main_a (+ v_subst_5 (- 1)))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) 1000) (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a v_subst_5) (select main_a (mod (+ v_subst_5 1) 256))) (= (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256)) 1000) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_5 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ v_subst_5 1) 256) 1) 256))) (= v_subst_5 (mod v_subst_5 256)) (= (select main_a (mod (+ v_subst_5 1) 256)) 1000))) (exists ((v_subst_4 Int)) (and (= main_y (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= main_x (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (= (select main_a main_y) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a main_x) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256) 1) 256)) (select main_a (mod (+ (mod (+ (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256) 1) 256) 1) 256))) (= (select main_a (mod (+ v_subst_4 1) 256)) (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 1000 (select main_a (mod (+ (mod (+ v_subst_4 1) 256) 1) 256))) (= 0 (select main_a v_subst_4)) (= 1000 (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod v_subst_4 256)) (select main_a (+ v_subst_4 (- 1)))) (= (select main_a (mod (+ (mod (+ (mod (+ v_subst_4 1) 256) 1) 256) 1) 256)) 1000))))} assume a[x] == 0; {314#false} is VALID [2019-02-27 13:04:34,695 INFO L273 TraceCheckUtils]: 10: Hoare triple {314#false} assume !(a[y] == 1000); {314#false} is VALID [2019-02-27 13:04:34,698 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 14 refuted. 14 times theorem prover too weak. 0 trivial. 8 not checked. [2019-02-27 13:04:34,698 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-02-27 13:04:59,113 WARN L860 $PredicateComparison]: unable to prove that (let ((.cse13 (mod (+ c_main_x 1) 256))) (let ((.cse9 (mod (+ .cse13 1) 256)) (.cse11 (mod (+ c_main_y 1) 256))) (let ((.cse7 (mod (+ .cse11 1) 256)) (.cse5 (mod (+ .cse9 1) 256))) (let ((.cse3 (mod (+ .cse5 1) 256)) (.cse1 (mod (+ .cse7 1) 256))) (let ((.cse0 (let ((.cse4 (let ((.cse6 (let ((.cse8 (let ((.cse10 (let ((.cse12 (let ((.cse14 (store c_main_a .cse13 (select c_main_a c_main_x)))) (store .cse14 .cse11 (select .cse14 c_main_y))))) (store .cse12 .cse9 (select .cse12 .cse13))))) (store .cse10 .cse7 (select .cse10 .cse11))))) (store .cse8 .cse5 (select .cse8 .cse9))))) (store .cse6 .cse1 (select .cse6 .cse7))))) (store .cse4 .cse3 (select .cse4 .cse5))))) (let ((.cse2 (select .cse0 .cse1))) (or (not (= (select (store .cse0 (mod (+ .cse1 1) 256) .cse2) .cse3) 0)) (= 1000 .cse2)))))))) is different from true [2019-02-27 13:04:59,114 INFO L273 TraceCheckUtils]: 10: Hoare triple {362#(= (select main_a main_y) 1000)} assume !(a[y] == 1000); {314#false} is VALID [2019-02-27 13:04:59,114 INFO L273 TraceCheckUtils]: 9: Hoare triple {366#(or (not (= (select main_a main_x) 0)) (= (select main_a main_y) 1000))} assume a[x] == 0; {362#(= (select main_a main_y) 1000)} is VALID [2019-02-27 13:04:59,117 INFO L273 TraceCheckUtils]: 8: Hoare triple {370#(or (not (= 0 (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256)))) (= 1000 (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {366#(or (not (= (select main_a main_x) 0)) (= (select main_a main_y) 1000))} is VALID [2019-02-27 13:04:59,146 INFO L273 TraceCheckUtils]: 7: Hoare triple {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {370#(or (not (= 0 (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256)))) (= 1000 (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)))} is VALID [2019-02-27 13:04:59,218 INFO L273 TraceCheckUtils]: 6: Hoare triple {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 13:04:59,301 INFO L273 TraceCheckUtils]: 5: Hoare triple {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 13:04:59,358 INFO L273 TraceCheckUtils]: 4: Hoare triple {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 13:04:59,899 INFO L273 TraceCheckUtils]: 3: Hoare triple {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 13:05:00,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {390#(or (= 1000 (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (not (= (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256)) 0)))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {374#(or (not (= 0 (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256)))) (= 1000 (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))))} is VALID [2019-02-27 13:05:02,946 INFO L273 TraceCheckUtils]: 1: Hoare triple {394#(or (not (= (select (store (store (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256)) 0)) (= 1000 (select (store (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256))))} xold := x;yold := y;x := (x + 1) % 256;y := (y + 1) % 256;a := a[x := a[xold]];a := a[y := a[yold]]; {390#(or (= 1000 (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (not (= (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256)) 0)))} is UNKNOWN [2019-02-27 13:05:02,954 INFO L273 TraceCheckUtils]: 0: Hoare triple {313#true} y := x + 1;a := a[x := 1000];a := a[y := 0]; {394#(or (not (= (select (store (store (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256)) 0)) (= 1000 (select (store (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256) (select (store (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256) (select (store (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256) (select (store (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ (mod (+ main_x 1) 256) 1) 256) (select (store (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) (mod (+ main_y 1) 256) (select (store main_a (mod (+ main_x 1) 256) (select main_a main_x)) main_y)) (mod (+ main_x 1) 256))) (mod (+ main_y 1) 256))) (mod (+ (mod (+ main_x 1) 256) 1) 256))) (mod (+ (mod (+ main_y 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_x 1) 256) 1) 256) 1) 256))) (mod (+ (mod (+ (mod (+ main_y 1) 256) 1) 256) 1) 256))))} is VALID [2019-02-27 13:05:02,956 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 13 refuted. 5 times theorem prover too weak. 10 trivial. 8 not checked. [2019-02-27 13:05:02,981 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-27 13:05:02,981 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 10, 6] total 21 [2019-02-27 13:05:02,982 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-27 13:05:02,982 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 11 [2019-02-27 13:05:02,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-27 13:05:02,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2019-02-27 13:05:19,119 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 11 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2019-02-27 13:05:19,119 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2019-02-27 13:05:19,120 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2019-02-27 13:05:19,120 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=132, Invalid=221, Unknown=35, NotChecked=74, Total=462 [2019-02-27 13:05:19,120 INFO L87 Difference]: Start difference. First operand 12 states and 12 transitions. Second operand 16 states. [2019-02-27 13:08:46,625 WARN L181 SmtUtils]: Spent 14.12 s on a formula simplification. DAG size of input: 100 DAG size of output: 96 [2019-02-27 13:08:52,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:08:52,705 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2019-02-27 13:08:52,705 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2019-02-27 13:08:52,705 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 11 [2019-02-27 13:08:52,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-27 13:08:52,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2019-02-27 13:08:52,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 14 transitions. [2019-02-27 13:08:52,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2019-02-27 13:08:52,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 14 transitions. [2019-02-27 13:08:52,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 14 transitions. [2019-02-27 13:09:08,828 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 6 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2019-02-27 13:09:08,829 INFO L225 Difference]: With dead ends: 13 [2019-02-27 13:09:08,829 INFO L226 Difference]: Without dead ends: 0 [2019-02-27 13:09:08,830 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 1 SyntacticMatches, 9 SemanticMatches, 21 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 182 ImplicationChecksByTransitivity, 140.9s TimeCoverageRelationStatistics Valid=142, Invalid=238, Unknown=48, NotChecked=78, Total=506 [2019-02-27 13:09:08,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2019-02-27 13:09:08,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-02-27 13:09:08,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-27 13:09:08,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2019-02-27 13:09:08,830 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-02-27 13:09:08,830 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-02-27 13:09:08,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:08,830 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-02-27 13:09:08,830 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-27 13:09:08,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:08,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:08,831 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-02-27 13:09:08,831 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-02-27 13:09:08,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-27 13:09:08,831 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-02-27 13:09:08,831 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-27 13:09:08,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:08,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-27 13:09:08,831 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-27 13:09:08,831 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-27 13:09:08,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2019-02-27 13:09:08,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-02-27 13:09:08,832 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 11 [2019-02-27 13:09:08,832 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-27 13:09:08,832 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2019-02-27 13:09:08,832 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2019-02-27 13:09:08,832 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-27 13:09:08,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-27 13:09:08,836 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2019-02-27 13:09:26,613 WARN L181 SmtUtils]: Spent 17.72 s on a formula simplification. DAG size of input: 375 DAG size of output: 35 [2019-02-27 13:09:26,622 INFO L448 ceAbstractionStarter]: For program point mainENTRY(lines 9 30) no Hoare annotation was computed. [2019-02-27 13:09:26,622 INFO L448 ceAbstractionStarter]: For program point L28(line 28) no Hoare annotation was computed. [2019-02-27 13:09:26,622 INFO L448 ceAbstractionStarter]: For program point L27-1(lines 9 30) no Hoare annotation was computed. [2019-02-27 13:09:26,622 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 9 30) no Hoare annotation was computed. [2019-02-27 13:09:26,623 INFO L444 ceAbstractionStarter]: At program point L18-1(lines 18 29) the Hoare annotation is: (let ((.cse0 (select main_a main_x)) (.cse1 (select main_a main_y))) (or (and (= .cse0 1000) (= .cse1 0) (= main_y (+ main_x 1))) (and (= .cse0 .cse1) (not (= 0 .cse1))) (exists ((main_yold Int)) (let ((.cse2 (select main_a main_yold)) (.cse3 (select main_a (+ main_yold (- 1))))) (and (= (mod main_yold 256) main_x) (= 0 .cse2) (= main_y (mod (+ main_yold 1) 256)) (= (select main_a main_y) .cse2) (= (select main_a main_x) .cse3) (= 1000 .cse3)))))) [2019-02-27 13:09:26,623 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONASSERT(line 28) no Hoare annotation was computed. [2019-02-27 13:09:26,624 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2019-02-27 13:09:28,631 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2019-02-27 13:09:28,631 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2019-02-27 13:09:28,631 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2019-02-27 13:09:28,632 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2019-02-27 13:09:28,632 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2019-02-27 13:09:28,632 INFO L163 areAnnotationChecker]: CFG has 1 edges. 0 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2019-02-27 13:09:28,639 INFO L202 PluginConnector]: Adding new model SkatingStrawberry.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.02 01:09:28 BoogieIcfgContainer [2019-02-27 13:09:28,639 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-02-27 13:09:28,640 INFO L168 Benchmark]: Toolchain (without parser) took 746973.64 ms. Allocated memory was 141.6 MB in the beginning and 300.4 MB in the end (delta: 158.9 MB). Free memory was 109.0 MB in the beginning and 245.1 MB in the end (delta: -136.1 MB). Peak memory consumption was 22.8 MB. Max. memory is 7.1 GB. [2019-02-27 13:09:28,641 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.17 ms. Allocated memory is still 141.6 MB. Free memory is still 110.2 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-02-27 13:09:28,641 INFO L168 Benchmark]: Boogie Procedure Inliner took 38.39 ms. Allocated memory is still 141.6 MB. Free memory was 108.8 MB in the beginning and 107.0 MB in the end (delta: 1.8 MB). Peak memory consumption was 1.8 MB. Max. memory is 7.1 GB. [2019-02-27 13:09:28,641 INFO L168 Benchmark]: Boogie Preprocessor took 26.56 ms. Allocated memory is still 141.6 MB. Free memory was 107.0 MB in the beginning and 105.9 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. [2019-02-27 13:09:28,642 INFO L168 Benchmark]: RCFGBuilder took 359.00 ms. Allocated memory is still 141.6 MB. Free memory was 105.9 MB in the beginning and 95.9 MB in the end (delta: 9.9 MB). Peak memory consumption was 9.9 MB. Max. memory is 7.1 GB. [2019-02-27 13:09:28,642 INFO L168 Benchmark]: TraceAbstraction took 746541.00 ms. Allocated memory was 141.6 MB in the beginning and 300.4 MB in the end (delta: 158.9 MB). Free memory was 95.5 MB in the beginning and 245.1 MB in the end (delta: -149.6 MB). Peak memory consumption was 9.3 MB. Max. memory is 7.1 GB. [2019-02-27 13:09:28,644 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.17 ms. Allocated memory is still 141.6 MB. Free memory is still 110.2 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 38.39 ms. Allocated memory is still 141.6 MB. Free memory was 108.8 MB in the beginning and 107.0 MB in the end (delta: 1.8 MB). Peak memory consumption was 1.8 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 26.56 ms. Allocated memory is still 141.6 MB. Free memory was 107.0 MB in the beginning and 105.9 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 359.00 ms. Allocated memory is still 141.6 MB. Free memory was 105.9 MB in the beginning and 95.9 MB in the end (delta: 9.9 MB). Peak memory consumption was 9.9 MB. Max. memory is 7.1 GB. * TraceAbstraction took 746541.00 ms. Allocated memory was 141.6 MB in the beginning and 300.4 MB in the end (delta: 158.9 MB). Free memory was 95.5 MB in the beginning and 245.1 MB in the end (delta: -149.6 MB). Peak memory consumption was 9.3 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 28]: assertion always holds For all program executions holds that assertion always holds at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 18]: Loop Invariant Derived loop invariant: (((a[x] == 1000 && a[y] == 0) && y == x + 1) || (a[x] == a[y] && !(0 == a[y]))) || (exists main_yold : int :: ((((main_yold % 256 == x && 0 == a[main_yold]) && y == (main_yold + 1) % 256) && a[y] == a[main_yold]) && a[x] == a[main_yold + -1]) && 1000 == a[main_yold + -1]) - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 6 locations, 1 error locations. SAFE Result, 744.4s OverallTime, 5 OverallIterations, 8 TraceHistogramMax, 302.4s AutomataDifference, 0.0s DeadEndRemovalTime, 17.7s HoareAnnotationTime, HoareTripleCheckerStatistics: 15 SDtfs, 3 SDslu, 3 SDs, 0 SdLazy, 77 SolverSat, 9 SolverUnsat, 52 SolverUnknown, 0 SolverNotchecked, 109.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 72 GetRequests, 8 SyntacticMatches, 13 SemanticMatches, 51 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 299 ImplicationChecksByTransitivity, 159.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=12occurred in iteration=4, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.2s AbstIntTime, 1 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 5 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 1 LocationsWithAnnotation, 1 PreInvPairs, 10 NumberOfFragments, 73 HoareAnnotationTreeSize, 1 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 1 FomulaSimplificationsInter, 3367 FormulaSimplificationTreeSizeReductionInter, 17.7s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 2.5s SatisfiabilityAnalysisTime, 391.4s InterpolantComputationTime, 57 NumberOfCodeBlocks, 57 NumberOfCodeBlocksAsserted, 11 NumberOfCheckSat, 71 ConstructedInterpolants, 18 QuantifiedInterpolants, 107412 SizeOfPredicates, 38 NumberOfNonLiveVariables, 167 ConjunctsInSsa, 151 ConjunctsInUnsatCore, 13 InterpolantComputations, 1 PerfectInterpolantSequences, 21/150 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...