java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/rewnifrev_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:22:52,084 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:22:52,089 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:22:52,110 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:22:52,110 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:22:52,111 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:22:52,112 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:22:52,116 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:22:52,118 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:22:52,118 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:22:52,119 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:22:52,120 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:22:52,121 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:22:52,122 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:22:52,123 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:22:52,123 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:22:52,124 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:22:52,126 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:22:52,128 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:22:52,130 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:22:52,131 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:22:52,132 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:22:52,135 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:22:52,135 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:22:52,135 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:22:52,136 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:22:52,137 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:22:52,138 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:22:52,139 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:22:52,140 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:22:52,141 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:22:52,141 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:22:52,142 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:22:52,142 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:22:52,143 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:22:52,144 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:22:52,144 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:22:52,159 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:22:52,160 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:22:52,161 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:22:52,161 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:22:52,162 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:22:52,162 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:22:52,162 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:22:52,162 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:22:52,162 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:22:52,163 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:22:52,163 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:22:52,163 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:22:52,163 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:22:52,163 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:22:52,164 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:22:52,164 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:22:52,164 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:22:52,164 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:22:52,164 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:22:52,165 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:22:52,165 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:22:52,165 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:22:52,165 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:22:52,165 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:22:52,166 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:22:52,166 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:22:52,166 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:22:52,166 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:22:52,166 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:22:52,166 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:22:52,167 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:22:52,210 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:22:52,223 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:22:52,228 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:22:52,229 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:22:52,230 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:22:52,230 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/rewnifrev_true-unreach-call.i [2018-11-23 12:22:52,297 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/db9725242/7c36a72e59c84eb2bbc4e663b54757ea/FLAG743414827 [2018-11-23 12:22:52,751 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:22:52,751 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/rewnifrev_true-unreach-call.i [2018-11-23 12:22:52,757 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/db9725242/7c36a72e59c84eb2bbc4e663b54757ea/FLAG743414827 [2018-11-23 12:22:53,093 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/db9725242/7c36a72e59c84eb2bbc4e663b54757ea [2018-11-23 12:22:53,104 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:22:53,105 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:22:53,107 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:53,107 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:22:53,111 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:22:53,113 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,116 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d13d574 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53, skipping insertion in model container [2018-11-23 12:22:53,116 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,127 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:22:53,156 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:22:53,409 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:53,417 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:22:53,447 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:22:53,471 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:22:53,471 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53 WrapperNode [2018-11-23 12:22:53,472 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:22:53,473 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:53,473 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:22:53,473 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:22:53,485 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,494 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,501 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:22:53,501 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:22:53,501 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:22:53,501 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:22:53,509 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,509 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,511 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,511 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,520 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,530 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,532 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... [2018-11-23 12:22:53,534 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:22:53,534 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:22:53,534 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:22:53,535 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:22:53,536 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:22:53,671 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:22:53,671 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:22:53,671 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:22:53,671 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:22:53,671 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:22:53,672 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:22:53,672 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:22:53,672 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:22:53,672 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:22:53,672 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:22:53,672 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:22:53,673 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:22:54,207 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:22:54,208 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:22:54,208 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:54 BoogieIcfgContainer [2018-11-23 12:22:54,208 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:22:54,209 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:22:54,210 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:22:54,213 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:22:54,213 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:22:53" (1/3) ... [2018-11-23 12:22:54,214 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d898841 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:22:54, skipping insertion in model container [2018-11-23 12:22:54,214 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:22:53" (2/3) ... [2018-11-23 12:22:54,214 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d898841 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:22:54, skipping insertion in model container [2018-11-23 12:22:54,215 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:22:54" (3/3) ... [2018-11-23 12:22:54,216 INFO L112 eAbstractionObserver]: Analyzing ICFG rewnifrev_true-unreach-call.i [2018-11-23 12:22:54,227 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:22:54,236 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:22:54,255 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:22:54,291 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:22:54,292 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:22:54,292 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:22:54,292 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:22:54,293 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:22:54,293 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:22:54,293 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:22:54,294 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:22:54,294 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:22:54,316 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2018-11-23 12:22:54,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:22:54,323 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:54,324 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:54,327 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:54,334 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:54,334 INFO L82 PathProgramCache]: Analyzing trace with hash -1204506220, now seen corresponding path program 1 times [2018-11-23 12:22:54,337 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:54,337 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:54,399 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:54,399 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:54,399 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:54,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:54,536 INFO L256 TraceCheckUtils]: 0: Hoare triple {31#true} call ULTIMATE.init(); {31#true} is VALID [2018-11-23 12:22:54,540 INFO L273 TraceCheckUtils]: 1: Hoare triple {31#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {31#true} is VALID [2018-11-23 12:22:54,540 INFO L273 TraceCheckUtils]: 2: Hoare triple {31#true} assume true; {31#true} is VALID [2018-11-23 12:22:54,541 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31#true} {31#true} #63#return; {31#true} is VALID [2018-11-23 12:22:54,541 INFO L256 TraceCheckUtils]: 4: Hoare triple {31#true} call #t~ret5 := main(); {31#true} is VALID [2018-11-23 12:22:54,542 INFO L273 TraceCheckUtils]: 5: Hoare triple {31#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {31#true} is VALID [2018-11-23 12:22:54,542 INFO L273 TraceCheckUtils]: 6: Hoare triple {31#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {31#true} is VALID [2018-11-23 12:22:54,544 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#true} assume !true; {32#false} is VALID [2018-11-23 12:22:54,544 INFO L273 TraceCheckUtils]: 8: Hoare triple {32#false} ~i~0 := 0; {32#false} is VALID [2018-11-23 12:22:54,544 INFO L273 TraceCheckUtils]: 9: Hoare triple {32#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {32#false} is VALID [2018-11-23 12:22:54,545 INFO L256 TraceCheckUtils]: 10: Hoare triple {32#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {32#false} is VALID [2018-11-23 12:22:54,545 INFO L273 TraceCheckUtils]: 11: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2018-11-23 12:22:54,545 INFO L273 TraceCheckUtils]: 12: Hoare triple {32#false} assume 0 == ~cond; {32#false} is VALID [2018-11-23 12:22:54,546 INFO L273 TraceCheckUtils]: 13: Hoare triple {32#false} assume !false; {32#false} is VALID [2018-11-23 12:22:54,549 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:54,552 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:54,552 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:22:54,558 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:22:54,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:54,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:22:54,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:54,650 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:22:54,658 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:22:54,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:22:54,662 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2018-11-23 12:22:54,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:54,954 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2018-11-23 12:22:54,954 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:22:54,956 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 12:22:54,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:54,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:22:54,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 54 transitions. [2018-11-23 12:22:54,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:22:54,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 54 transitions. [2018-11-23 12:22:54,984 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 54 transitions. [2018-11-23 12:22:55,335 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:55,346 INFO L225 Difference]: With dead ends: 45 [2018-11-23 12:22:55,346 INFO L226 Difference]: Without dead ends: 22 [2018-11-23 12:22:55,350 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:22:55,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-23 12:22:55,395 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-23 12:22:55,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:55,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:55,397 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:55,397 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:55,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:55,401 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2018-11-23 12:22:55,402 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 12:22:55,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:55,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:55,403 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:55,403 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-23 12:22:55,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:55,407 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2018-11-23 12:22:55,407 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 12:22:55,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:55,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:55,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:55,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:55,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:22:55,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 24 transitions. [2018-11-23 12:22:55,413 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 24 transitions. Word has length 14 [2018-11-23 12:22:55,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:55,413 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 24 transitions. [2018-11-23 12:22:55,413 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:22:55,413 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2018-11-23 12:22:55,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 12:22:55,414 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:55,415 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:55,415 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:55,415 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:55,415 INFO L82 PathProgramCache]: Analyzing trace with hash 142847815, now seen corresponding path program 1 times [2018-11-23 12:22:55,416 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:55,416 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:55,417 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:55,417 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:55,417 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:55,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:55,600 INFO L256 TraceCheckUtils]: 0: Hoare triple {165#true} call ULTIMATE.init(); {165#true} is VALID [2018-11-23 12:22:55,601 INFO L273 TraceCheckUtils]: 1: Hoare triple {165#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {165#true} is VALID [2018-11-23 12:22:55,601 INFO L273 TraceCheckUtils]: 2: Hoare triple {165#true} assume true; {165#true} is VALID [2018-11-23 12:22:55,601 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {165#true} {165#true} #63#return; {165#true} is VALID [2018-11-23 12:22:55,602 INFO L256 TraceCheckUtils]: 4: Hoare triple {165#true} call #t~ret5 := main(); {165#true} is VALID [2018-11-23 12:22:55,602 INFO L273 TraceCheckUtils]: 5: Hoare triple {165#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {165#true} is VALID [2018-11-23 12:22:55,603 INFO L273 TraceCheckUtils]: 6: Hoare triple {165#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {167#(<= 1 main_~i~0)} is VALID [2018-11-23 12:22:55,608 INFO L273 TraceCheckUtils]: 7: Hoare triple {167#(<= 1 main_~i~0)} assume !(~i~0 >= 0); {166#false} is VALID [2018-11-23 12:22:55,608 INFO L273 TraceCheckUtils]: 8: Hoare triple {166#false} ~i~0 := 0; {166#false} is VALID [2018-11-23 12:22:55,609 INFO L273 TraceCheckUtils]: 9: Hoare triple {166#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {166#false} is VALID [2018-11-23 12:22:55,609 INFO L256 TraceCheckUtils]: 10: Hoare triple {166#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {166#false} is VALID [2018-11-23 12:22:55,609 INFO L273 TraceCheckUtils]: 11: Hoare triple {166#false} ~cond := #in~cond; {166#false} is VALID [2018-11-23 12:22:55,610 INFO L273 TraceCheckUtils]: 12: Hoare triple {166#false} assume 0 == ~cond; {166#false} is VALID [2018-11-23 12:22:55,610 INFO L273 TraceCheckUtils]: 13: Hoare triple {166#false} assume !false; {166#false} is VALID [2018-11-23 12:22:55,611 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:55,611 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:55,612 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:22:55,614 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:22:55,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:55,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:22:55,648 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:55,649 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:22:55,649 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:22:55,649 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:55,649 INFO L87 Difference]: Start difference. First operand 22 states and 24 transitions. Second operand 3 states. [2018-11-23 12:22:55,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:55,811 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 12:22:55,811 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:22:55,812 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 12:22:55,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:55,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:55,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2018-11-23 12:22:55,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:22:55,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2018-11-23 12:22:55,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 47 transitions. [2018-11-23 12:22:56,118 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:56,120 INFO L225 Difference]: With dead ends: 41 [2018-11-23 12:22:56,120 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 12:22:56,122 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:22:56,123 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 12:22:56,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 24. [2018-11-23 12:22:56,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:56,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 24 states. [2018-11-23 12:22:56,255 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 24 states. [2018-11-23 12:22:56,255 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 24 states. [2018-11-23 12:22:56,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,259 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2018-11-23 12:22:56,259 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 12:22:56,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:56,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:56,260 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 26 states. [2018-11-23 12:22:56,260 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 26 states. [2018-11-23 12:22:56,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,263 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2018-11-23 12:22:56,263 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 12:22:56,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:56,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:56,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:56,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:56,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:22:56,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2018-11-23 12:22:56,269 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 14 [2018-11-23 12:22:56,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:56,269 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2018-11-23 12:22:56,269 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:22:56,269 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-23 12:22:56,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 12:22:56,271 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:56,271 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:56,271 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:56,272 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:56,272 INFO L82 PathProgramCache]: Analyzing trace with hash -1002652542, now seen corresponding path program 1 times [2018-11-23 12:22:56,272 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:56,272 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:56,273 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:56,273 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:56,273 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:56,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:56,408 INFO L256 TraceCheckUtils]: 0: Hoare triple {309#true} call ULTIMATE.init(); {309#true} is VALID [2018-11-23 12:22:56,409 INFO L273 TraceCheckUtils]: 1: Hoare triple {309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {309#true} is VALID [2018-11-23 12:22:56,409 INFO L273 TraceCheckUtils]: 2: Hoare triple {309#true} assume true; {309#true} is VALID [2018-11-23 12:22:56,409 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {309#true} {309#true} #63#return; {309#true} is VALID [2018-11-23 12:22:56,409 INFO L256 TraceCheckUtils]: 4: Hoare triple {309#true} call #t~ret5 := main(); {309#true} is VALID [2018-11-23 12:22:56,410 INFO L273 TraceCheckUtils]: 5: Hoare triple {309#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {309#true} is VALID [2018-11-23 12:22:56,410 INFO L273 TraceCheckUtils]: 6: Hoare triple {309#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {309#true} is VALID [2018-11-23 12:22:56,410 INFO L273 TraceCheckUtils]: 7: Hoare triple {309#true} assume !!(~i~0 >= 0); {309#true} is VALID [2018-11-23 12:22:56,411 INFO L273 TraceCheckUtils]: 8: Hoare triple {309#true} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {311#(<= 1 main_~i~0)} is VALID [2018-11-23 12:22:56,411 INFO L273 TraceCheckUtils]: 9: Hoare triple {311#(<= 1 main_~i~0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {311#(<= 1 main_~i~0)} is VALID [2018-11-23 12:22:56,412 INFO L273 TraceCheckUtils]: 10: Hoare triple {311#(<= 1 main_~i~0)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {312#(<= 0 main_~i~0)} is VALID [2018-11-23 12:22:56,413 INFO L273 TraceCheckUtils]: 11: Hoare triple {312#(<= 0 main_~i~0)} assume !(~i~0 >= 0); {310#false} is VALID [2018-11-23 12:22:56,413 INFO L273 TraceCheckUtils]: 12: Hoare triple {310#false} ~i~0 := 0; {310#false} is VALID [2018-11-23 12:22:56,413 INFO L273 TraceCheckUtils]: 13: Hoare triple {310#false} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {310#false} is VALID [2018-11-23 12:22:56,414 INFO L256 TraceCheckUtils]: 14: Hoare triple {310#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {310#false} is VALID [2018-11-23 12:22:56,414 INFO L273 TraceCheckUtils]: 15: Hoare triple {310#false} ~cond := #in~cond; {310#false} is VALID [2018-11-23 12:22:56,414 INFO L273 TraceCheckUtils]: 16: Hoare triple {310#false} assume 0 == ~cond; {310#false} is VALID [2018-11-23 12:22:56,414 INFO L273 TraceCheckUtils]: 17: Hoare triple {310#false} assume !false; {310#false} is VALID [2018-11-23 12:22:56,416 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:56,417 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:56,418 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:22:56,418 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-23 12:22:56,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:56,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:22:56,453 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:56,453 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:22:56,453 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:22:56,453 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:22:56,454 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand 4 states. [2018-11-23 12:22:56,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,719 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 12:22:56,720 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:22:56,720 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2018-11-23 12:22:56,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:56,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:56,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2018-11-23 12:22:56,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:22:56,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2018-11-23 12:22:56,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 46 transitions. [2018-11-23 12:22:56,840 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:56,843 INFO L225 Difference]: With dead ends: 42 [2018-11-23 12:22:56,843 INFO L226 Difference]: Without dead ends: 31 [2018-11-23 12:22:56,843 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:22:56,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-23 12:22:56,865 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 27. [2018-11-23 12:22:56,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:56,866 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 27 states. [2018-11-23 12:22:56,866 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 27 states. [2018-11-23 12:22:56,866 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 27 states. [2018-11-23 12:22:56,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,871 INFO L93 Difference]: Finished difference Result 31 states and 34 transitions. [2018-11-23 12:22:56,871 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 34 transitions. [2018-11-23 12:22:56,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:56,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:56,872 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 31 states. [2018-11-23 12:22:56,878 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 31 states. [2018-11-23 12:22:56,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:56,882 INFO L93 Difference]: Finished difference Result 31 states and 34 transitions. [2018-11-23 12:22:56,882 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 34 transitions. [2018-11-23 12:22:56,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:56,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:56,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:56,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:56,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:56,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2018-11-23 12:22:56,887 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 18 [2018-11-23 12:22:56,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:56,887 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2018-11-23 12:22:56,888 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:22:56,888 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 12:22:56,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:22:56,889 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:56,889 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:56,889 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:56,890 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:56,890 INFO L82 PathProgramCache]: Analyzing trace with hash -1636198789, now seen corresponding path program 1 times [2018-11-23 12:22:56,890 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:56,890 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:56,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:56,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:56,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:56,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:57,794 INFO L256 TraceCheckUtils]: 0: Hoare triple {471#true} call ULTIMATE.init(); {471#true} is VALID [2018-11-23 12:22:57,795 INFO L273 TraceCheckUtils]: 1: Hoare triple {471#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {471#true} is VALID [2018-11-23 12:22:57,795 INFO L273 TraceCheckUtils]: 2: Hoare triple {471#true} assume true; {471#true} is VALID [2018-11-23 12:22:57,795 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {471#true} {471#true} #63#return; {471#true} is VALID [2018-11-23 12:22:57,796 INFO L256 TraceCheckUtils]: 4: Hoare triple {471#true} call #t~ret5 := main(); {471#true} is VALID [2018-11-23 12:22:57,796 INFO L273 TraceCheckUtils]: 5: Hoare triple {471#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {471#true} is VALID [2018-11-23 12:22:57,800 INFO L273 TraceCheckUtils]: 6: Hoare triple {471#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {473#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:22:57,801 INFO L273 TraceCheckUtils]: 7: Hoare triple {473#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {473#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:22:57,802 INFO L273 TraceCheckUtils]: 8: Hoare triple {473#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {473#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:22:57,803 INFO L273 TraceCheckUtils]: 9: Hoare triple {473#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {473#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:22:57,803 INFO L273 TraceCheckUtils]: 10: Hoare triple {473#(= |main_~#a~0.offset| 0)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {473#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:22:57,804 INFO L273 TraceCheckUtils]: 11: Hoare triple {473#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {474#(and (<= 0 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:57,805 INFO L273 TraceCheckUtils]: 12: Hoare triple {474#(and (<= 0 main_~i~0) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {475#(and (= 0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:22:57,806 INFO L273 TraceCheckUtils]: 13: Hoare triple {475#(and (= 0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {476#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0) (= 0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)))} is VALID [2018-11-23 12:22:57,808 INFO L273 TraceCheckUtils]: 14: Hoare triple {476#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0) (= 0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {477#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-23 12:22:57,817 INFO L273 TraceCheckUtils]: 15: Hoare triple {477#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} assume !(~i~0 >= 0); {477#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} is VALID [2018-11-23 12:22:57,819 INFO L273 TraceCheckUtils]: 16: Hoare triple {477#(and (= |main_~#a~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#a~0.base|) 0)))} ~i~0 := 0; {476#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0) (= 0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)))} is VALID [2018-11-23 12:22:57,821 INFO L273 TraceCheckUtils]: 17: Hoare triple {476#(and (= 0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0) (= 0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {478#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} is VALID [2018-11-23 12:22:57,822 INFO L256 TraceCheckUtils]: 18: Hoare triple {478#(and (= |main_#t~mem4| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {479#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:57,823 INFO L273 TraceCheckUtils]: 19: Hoare triple {479#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {480#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 12:22:57,824 INFO L273 TraceCheckUtils]: 20: Hoare triple {480#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {472#false} is VALID [2018-11-23 12:22:57,824 INFO L273 TraceCheckUtils]: 21: Hoare triple {472#false} assume !false; {472#false} is VALID [2018-11-23 12:22:57,826 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:22:57,826 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:22:57,827 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 12:22:57,827 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2018-11-23 12:22:57,827 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:57,827 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:22:57,859 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:57,859 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:22:57,860 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:22:57,860 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:22:57,861 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand 10 states. [2018-11-23 12:22:58,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:58,456 INFO L93 Difference]: Finished difference Result 39 states and 42 transitions. [2018-11-23 12:22:58,456 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:22:58,456 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 22 [2018-11-23 12:22:58,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:58,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:22:58,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 41 transitions. [2018-11-23 12:22:58,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:22:58,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 41 transitions. [2018-11-23 12:22:58,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 41 transitions. [2018-11-23 12:22:58,541 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:58,543 INFO L225 Difference]: With dead ends: 39 [2018-11-23 12:22:58,543 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 12:22:58,544 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:22:58,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 12:22:58,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2018-11-23 12:22:58,604 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:58,604 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 33 states. [2018-11-23 12:22:58,604 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 33 states. [2018-11-23 12:22:58,604 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 33 states. [2018-11-23 12:22:58,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:58,607 INFO L93 Difference]: Finished difference Result 37 states and 40 transitions. [2018-11-23 12:22:58,608 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 40 transitions. [2018-11-23 12:22:58,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:58,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:58,609 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 37 states. [2018-11-23 12:22:58,609 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 37 states. [2018-11-23 12:22:58,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:58,611 INFO L93 Difference]: Finished difference Result 37 states and 40 transitions. [2018-11-23 12:22:58,612 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 40 transitions. [2018-11-23 12:22:58,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:58,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:58,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:58,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:58,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:22:58,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2018-11-23 12:22:58,615 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 22 [2018-11-23 12:22:58,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:58,615 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2018-11-23 12:22:58,616 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:22:58,616 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 12:22:58,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 12:22:58,617 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:58,617 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:58,617 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:58,618 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:58,618 INFO L82 PathProgramCache]: Analyzing trace with hash -1656033490, now seen corresponding path program 1 times [2018-11-23 12:22:58,618 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:58,618 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:58,619 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:58,619 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:58,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:58,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:59,354 INFO L256 TraceCheckUtils]: 0: Hoare triple {661#true} call ULTIMATE.init(); {661#true} is VALID [2018-11-23 12:22:59,355 INFO L273 TraceCheckUtils]: 1: Hoare triple {661#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {661#true} is VALID [2018-11-23 12:22:59,355 INFO L273 TraceCheckUtils]: 2: Hoare triple {661#true} assume true; {661#true} is VALID [2018-11-23 12:22:59,355 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {661#true} {661#true} #63#return; {661#true} is VALID [2018-11-23 12:22:59,356 INFO L256 TraceCheckUtils]: 4: Hoare triple {661#true} call #t~ret5 := main(); {661#true} is VALID [2018-11-23 12:22:59,356 INFO L273 TraceCheckUtils]: 5: Hoare triple {661#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {661#true} is VALID [2018-11-23 12:22:59,357 INFO L273 TraceCheckUtils]: 6: Hoare triple {661#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {661#true} is VALID [2018-11-23 12:22:59,357 INFO L273 TraceCheckUtils]: 7: Hoare triple {661#true} assume !!(~i~0 >= 0); {661#true} is VALID [2018-11-23 12:22:59,358 INFO L273 TraceCheckUtils]: 8: Hoare triple {661#true} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {663#(or (< 1 main_~i~0) (= 1 main_~i~0))} is VALID [2018-11-23 12:22:59,360 INFO L273 TraceCheckUtils]: 9: Hoare triple {663#(or (< 1 main_~i~0) (= 1 main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {664#(and (or (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (not (= 1 main_~i~0))) (or (< 1 main_~i~0) (= 1 main_~i~0)))} is VALID [2018-11-23 12:22:59,360 INFO L273 TraceCheckUtils]: 10: Hoare triple {664#(and (or (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (not (= 1 main_~i~0))) (or (< 1 main_~i~0) (= 1 main_~i~0)))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {665#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))))} is VALID [2018-11-23 12:22:59,361 INFO L273 TraceCheckUtils]: 11: Hoare triple {665#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))))} assume !!(~i~0 >= 0); {665#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))))} is VALID [2018-11-23 12:22:59,363 INFO L273 TraceCheckUtils]: 12: Hoare triple {665#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))))} assume !(~i~0 - 1 >= 0); {666#(= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 1))))} is VALID [2018-11-23 12:22:59,364 INFO L273 TraceCheckUtils]: 13: Hoare triple {666#(= 1 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 1))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {667#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))))} is VALID [2018-11-23 12:22:59,365 INFO L273 TraceCheckUtils]: 14: Hoare triple {667#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {667#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))))} is VALID [2018-11-23 12:22:59,365 INFO L273 TraceCheckUtils]: 15: Hoare triple {667#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))))} assume !(~i~0 >= 0); {667#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))))} is VALID [2018-11-23 12:22:59,366 INFO L273 TraceCheckUtils]: 16: Hoare triple {667#(= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))))} ~i~0 := 0; {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:59,367 INFO L273 TraceCheckUtils]: 17: Hoare triple {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:59,368 INFO L256 TraceCheckUtils]: 18: Hoare triple {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {661#true} is VALID [2018-11-23 12:22:59,369 INFO L273 TraceCheckUtils]: 19: Hoare triple {661#true} ~cond := #in~cond; {669#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:22:59,370 INFO L273 TraceCheckUtils]: 20: Hoare triple {669#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:59,371 INFO L273 TraceCheckUtils]: 21: Hoare triple {670#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:59,372 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {670#(not (= |__VERIFIER_assert_#in~cond| 0))} {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} #67#return; {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:59,374 INFO L273 TraceCheckUtils]: 23: Hoare triple {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} havoc #t~mem4; {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} is VALID [2018-11-23 12:22:59,375 INFO L273 TraceCheckUtils]: 24: Hoare triple {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {671#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-23 12:22:59,376 INFO L273 TraceCheckUtils]: 25: Hoare triple {671#(and (<= main_~i~0 1) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {672#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} is VALID [2018-11-23 12:22:59,377 INFO L256 TraceCheckUtils]: 26: Hoare triple {672#(and (<= main_~i~0 1) (= |main_#t~mem4| 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {670#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:59,378 INFO L273 TraceCheckUtils]: 27: Hoare triple {670#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {673#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:59,378 INFO L273 TraceCheckUtils]: 28: Hoare triple {673#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {662#false} is VALID [2018-11-23 12:22:59,379 INFO L273 TraceCheckUtils]: 29: Hoare triple {662#false} assume !false; {662#false} is VALID [2018-11-23 12:22:59,385 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 4 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:59,386 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:59,386 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP 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 [2018-11-23 12:22:59,404 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:59,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:59,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:59,454 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:59,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 16 [2018-11-23 12:22:59,606 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:22:59,609 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:59,617 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:59,625 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 16 [2018-11-23 12:22:59,635 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:22:59,646 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:59,658 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:59,672 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:22:59,673 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 1 variables, input treesize:39, output treesize:31 [2018-11-23 12:23:00,246 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:23:00,252 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:00,253 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:00,256 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 39 [2018-11-23 12:23:00,259 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,301 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,374 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,375 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:19 [2018-11-23 12:23:00,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 24 [2018-11-23 12:23:00,871 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:00,872 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:00,874 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:00,876 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 23 [2018-11-23 12:23:00,878 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,883 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,888 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:00,889 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:33, output treesize:7 [2018-11-23 12:23:00,892 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:00,892 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= 1 (select .cse0 (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 1) (= 0 (select .cse0 |main_~#a~0.offset|)) (<= (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) |main_#t~mem4|))) [2018-11-23 12:23:00,893 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 1 |main_#t~mem4|) (= main_~i~0 1)) [2018-11-23 12:23:00,983 INFO L256 TraceCheckUtils]: 0: Hoare triple {661#true} call ULTIMATE.init(); {661#true} is VALID [2018-11-23 12:23:00,984 INFO L273 TraceCheckUtils]: 1: Hoare triple {661#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {661#true} is VALID [2018-11-23 12:23:00,984 INFO L273 TraceCheckUtils]: 2: Hoare triple {661#true} assume true; {661#true} is VALID [2018-11-23 12:23:00,985 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {661#true} {661#true} #63#return; {661#true} is VALID [2018-11-23 12:23:00,985 INFO L256 TraceCheckUtils]: 4: Hoare triple {661#true} call #t~ret5 := main(); {661#true} is VALID [2018-11-23 12:23:00,985 INFO L273 TraceCheckUtils]: 5: Hoare triple {661#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {661#true} is VALID [2018-11-23 12:23:00,985 INFO L273 TraceCheckUtils]: 6: Hoare triple {661#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {661#true} is VALID [2018-11-23 12:23:00,986 INFO L273 TraceCheckUtils]: 7: Hoare triple {661#true} assume !!(~i~0 >= 0); {661#true} is VALID [2018-11-23 12:23:00,990 INFO L273 TraceCheckUtils]: 8: Hoare triple {661#true} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {663#(or (< 1 main_~i~0) (= 1 main_~i~0))} is VALID [2018-11-23 12:23:00,993 INFO L273 TraceCheckUtils]: 9: Hoare triple {663#(or (< 1 main_~i~0) (= 1 main_~i~0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {704#(or (and (< 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)))) (and (= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)))))} is VALID [2018-11-23 12:23:00,996 INFO L273 TraceCheckUtils]: 10: Hoare triple {704#(or (and (< 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)))) (and (= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {708#(or (exists ((v_main_~i~0_17 Int)) (and (< 1 v_main_~i~0_17) (= v_main_~i~0_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_17) |main_~#a~0.offset|))) (<= v_main_~i~0_17 (+ main_~i~0 1)))) (and (<= 0 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))))} is VALID [2018-11-23 12:23:00,996 INFO L273 TraceCheckUtils]: 11: Hoare triple {708#(or (exists ((v_main_~i~0_17 Int)) (and (< 1 v_main_~i~0_17) (= v_main_~i~0_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_17) |main_~#a~0.offset|))) (<= v_main_~i~0_17 (+ main_~i~0 1)))) (and (<= 0 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))))} assume !!(~i~0 >= 0); {708#(or (exists ((v_main_~i~0_17 Int)) (and (< 1 v_main_~i~0_17) (= v_main_~i~0_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_17) |main_~#a~0.offset|))) (<= v_main_~i~0_17 (+ main_~i~0 1)))) (and (<= 0 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))))} is VALID [2018-11-23 12:23:01,010 INFO L273 TraceCheckUtils]: 12: Hoare triple {708#(or (exists ((v_main_~i~0_17 Int)) (and (< 1 v_main_~i~0_17) (= v_main_~i~0_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_17) |main_~#a~0.offset|))) (<= v_main_~i~0_17 (+ main_~i~0 1)))) (and (<= 0 main_~i~0) (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))))} assume !(~i~0 - 1 >= 0); {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:01,011 INFO L273 TraceCheckUtils]: 13: Hoare triple {668#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {718#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 12:23:01,014 INFO L273 TraceCheckUtils]: 14: Hoare triple {718#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {718#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 12:23:01,015 INFO L273 TraceCheckUtils]: 15: Hoare triple {718#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} assume !(~i~0 >= 0); {718#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 12:23:01,016 INFO L273 TraceCheckUtils]: 16: Hoare triple {718#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} ~i~0 := 0; {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} is VALID [2018-11-23 12:23:01,035 INFO L273 TraceCheckUtils]: 17: Hoare triple {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} is VALID [2018-11-23 12:23:01,052 INFO L256 TraceCheckUtils]: 18: Hoare triple {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {735#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1)))} is VALID [2018-11-23 12:23:01,067 INFO L273 TraceCheckUtils]: 19: Hoare triple {735#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1)))} ~cond := #in~cond; {739#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:01,076 INFO L273 TraceCheckUtils]: 20: Hoare triple {739#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {743#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:23:01,091 INFO L273 TraceCheckUtils]: 21: Hoare triple {743#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1))) (not (= |__VERIFIER_assert_#in~cond| 0)))} assume true; {743#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 12:23:01,100 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {743#(and (exists ((|v_main_~#a~0.offset_BEFORE_CALL_1| Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) |v_main_~#a~0.offset_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ |v_main_~#a~0.offset_BEFORE_CALL_1| 4)) 1))) (not (= |__VERIFIER_assert_#in~cond| 0)))} {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} #67#return; {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} is VALID [2018-11-23 12:23:01,114 INFO L273 TraceCheckUtils]: 23: Hoare triple {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} havoc #t~mem4; {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} is VALID [2018-11-23 12:23:01,116 INFO L273 TraceCheckUtils]: 24: Hoare triple {728#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {756#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 1) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} is VALID [2018-11-23 12:23:01,117 INFO L273 TraceCheckUtils]: 25: Hoare triple {756#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1)))) (= main_~i~0 1) (= 0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {760#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} is VALID [2018-11-23 12:23:01,118 INFO L256 TraceCheckUtils]: 26: Hoare triple {760#(and (<= 1 |main_#t~mem4|) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {764#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:01,120 INFO L273 TraceCheckUtils]: 27: Hoare triple {764#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {768#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:01,121 INFO L273 TraceCheckUtils]: 28: Hoare triple {768#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {662#false} is VALID [2018-11-23 12:23:01,121 INFO L273 TraceCheckUtils]: 29: Hoare triple {662#false} assume !false; {662#false} is VALID [2018-11-23 12:23:01,130 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:23:01,151 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:01,151 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15] total 24 [2018-11-23 12:23:01,152 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 12:23:01,154 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:01,154 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:23:01,271 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:01,272 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:23:01,272 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:23:01,273 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=465, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:23:01,273 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand 24 states. [2018-11-23 12:23:04,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:04,085 INFO L93 Difference]: Finished difference Result 48 states and 51 transitions. [2018-11-23 12:23:04,086 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:23:04,086 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 12:23:04,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:04,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:23:04,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 48 transitions. [2018-11-23 12:23:04,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:23:04,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 48 transitions. [2018-11-23 12:23:04,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 48 transitions. [2018-11-23 12:23:04,162 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:04,165 INFO L225 Difference]: With dead ends: 48 [2018-11-23 12:23:04,165 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 12:23:04,166 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 18 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 206 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=152, Invalid=718, Unknown=0, NotChecked=0, Total=870 [2018-11-23 12:23:04,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 12:23:04,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 41. [2018-11-23 12:23:04,233 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:04,233 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 41 states. [2018-11-23 12:23:04,233 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 41 states. [2018-11-23 12:23:04,233 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 41 states. [2018-11-23 12:23:04,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:04,236 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-23 12:23:04,236 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2018-11-23 12:23:04,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:04,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:04,237 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 46 states. [2018-11-23 12:23:04,237 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 46 states. [2018-11-23 12:23:04,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:04,239 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-23 12:23:04,240 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2018-11-23 12:23:04,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:04,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:04,241 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:04,241 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:04,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:23:04,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 43 transitions. [2018-11-23 12:23:04,243 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 43 transitions. Word has length 30 [2018-11-23 12:23:04,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:04,244 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 43 transitions. [2018-11-23 12:23:04,244 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:23:04,244 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 43 transitions. [2018-11-23 12:23:04,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:23:04,245 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:04,245 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:04,246 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:04,246 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:04,246 INFO L82 PathProgramCache]: Analyzing trace with hash 1830675681, now seen corresponding path program 2 times [2018-11-23 12:23:04,246 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:04,246 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:04,247 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:04,247 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:04,248 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:04,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:04,383 INFO L256 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2018-11-23 12:23:04,383 INFO L273 TraceCheckUtils]: 1: Hoare triple {999#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {999#true} is VALID [2018-11-23 12:23:04,383 INFO L273 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2018-11-23 12:23:04,384 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2018-11-23 12:23:04,384 INFO L256 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret5 := main(); {999#true} is VALID [2018-11-23 12:23:04,384 INFO L273 TraceCheckUtils]: 5: Hoare triple {999#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {999#true} is VALID [2018-11-23 12:23:04,385 INFO L273 TraceCheckUtils]: 6: Hoare triple {999#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,386 INFO L273 TraceCheckUtils]: 7: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,386 INFO L273 TraceCheckUtils]: 8: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,386 INFO L273 TraceCheckUtils]: 9: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,387 INFO L273 TraceCheckUtils]: 10: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1002#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,387 INFO L273 TraceCheckUtils]: 11: Hoare triple {1002#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {1002#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,388 INFO L273 TraceCheckUtils]: 12: Hoare triple {1002#(<= ~SIZE~0 (+ main_~i~0 2))} assume !(~i~0 - 1 >= 0); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,389 INFO L273 TraceCheckUtils]: 13: Hoare triple {1003#(<= ~SIZE~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,389 INFO L273 TraceCheckUtils]: 14: Hoare triple {1003#(<= ~SIZE~0 2)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,390 INFO L273 TraceCheckUtils]: 15: Hoare triple {1003#(<= ~SIZE~0 2)} assume !(~i~0 >= 0); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,391 INFO L273 TraceCheckUtils]: 16: Hoare triple {1003#(<= ~SIZE~0 2)} ~i~0 := 0; {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,391 INFO L273 TraceCheckUtils]: 17: Hoare triple {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,392 INFO L256 TraceCheckUtils]: 18: Hoare triple {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {999#true} is VALID [2018-11-23 12:23:04,392 INFO L273 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2018-11-23 12:23:04,392 INFO L273 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2018-11-23 12:23:04,393 INFO L273 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2018-11-23 12:23:04,393 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #67#return; {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,394 INFO L273 TraceCheckUtils]: 23: Hoare triple {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} havoc #t~mem4; {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-23 12:23:04,395 INFO L273 TraceCheckUtils]: 24: Hoare triple {1004#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,396 INFO L273 TraceCheckUtils]: 25: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,396 INFO L256 TraceCheckUtils]: 26: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {999#true} is VALID [2018-11-23 12:23:04,396 INFO L273 TraceCheckUtils]: 27: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2018-11-23 12:23:04,397 INFO L273 TraceCheckUtils]: 28: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2018-11-23 12:23:04,397 INFO L273 TraceCheckUtils]: 29: Hoare triple {999#true} assume true; {999#true} is VALID [2018-11-23 12:23:04,398 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {999#true} {1001#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,398 INFO L273 TraceCheckUtils]: 31: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,399 INFO L273 TraceCheckUtils]: 32: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1005#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:04,400 INFO L273 TraceCheckUtils]: 33: Hoare triple {1005#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1000#false} is VALID [2018-11-23 12:23:04,400 INFO L256 TraceCheckUtils]: 34: Hoare triple {1000#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1000#false} is VALID [2018-11-23 12:23:04,400 INFO L273 TraceCheckUtils]: 35: Hoare triple {1000#false} ~cond := #in~cond; {1000#false} is VALID [2018-11-23 12:23:04,400 INFO L273 TraceCheckUtils]: 36: Hoare triple {1000#false} assume 0 == ~cond; {1000#false} is VALID [2018-11-23 12:23:04,400 INFO L273 TraceCheckUtils]: 37: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2018-11-23 12:23:04,402 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 7 proven. 11 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:04,402 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:04,403 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP 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 [2018-11-23 12:23:04,412 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:23:04,455 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:23:04,455 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:04,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:04,470 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:04,591 INFO L256 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2018-11-23 12:23:04,591 INFO L273 TraceCheckUtils]: 1: Hoare triple {999#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {999#true} is VALID [2018-11-23 12:23:04,592 INFO L273 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2018-11-23 12:23:04,592 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2018-11-23 12:23:04,592 INFO L256 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret5 := main(); {999#true} is VALID [2018-11-23 12:23:04,592 INFO L273 TraceCheckUtils]: 5: Hoare triple {999#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {999#true} is VALID [2018-11-23 12:23:04,593 INFO L273 TraceCheckUtils]: 6: Hoare triple {999#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,614 INFO L273 TraceCheckUtils]: 7: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,623 INFO L273 TraceCheckUtils]: 8: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,633 INFO L273 TraceCheckUtils]: 9: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1001#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:04,634 INFO L273 TraceCheckUtils]: 10: Hoare triple {1001#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1002#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,635 INFO L273 TraceCheckUtils]: 11: Hoare triple {1002#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {1002#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:04,635 INFO L273 TraceCheckUtils]: 12: Hoare triple {1002#(<= ~SIZE~0 (+ main_~i~0 2))} assume !(~i~0 - 1 >= 0); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,636 INFO L273 TraceCheckUtils]: 13: Hoare triple {1003#(<= ~SIZE~0 2)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,636 INFO L273 TraceCheckUtils]: 14: Hoare triple {1003#(<= ~SIZE~0 2)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,636 INFO L273 TraceCheckUtils]: 15: Hoare triple {1003#(<= ~SIZE~0 2)} assume !(~i~0 >= 0); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,637 INFO L273 TraceCheckUtils]: 16: Hoare triple {1003#(<= ~SIZE~0 2)} ~i~0 := 0; {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,637 INFO L273 TraceCheckUtils]: 17: Hoare triple {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,638 INFO L256 TraceCheckUtils]: 18: Hoare triple {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,639 INFO L273 TraceCheckUtils]: 19: Hoare triple {1003#(<= ~SIZE~0 2)} ~cond := #in~cond; {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,641 INFO L273 TraceCheckUtils]: 20: Hoare triple {1003#(<= ~SIZE~0 2)} assume !(0 == ~cond); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,642 INFO L273 TraceCheckUtils]: 21: Hoare triple {1003#(<= ~SIZE~0 2)} assume true; {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,643 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1003#(<= ~SIZE~0 2)} {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #67#return; {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,644 INFO L273 TraceCheckUtils]: 23: Hoare triple {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,645 INFO L273 TraceCheckUtils]: 24: Hoare triple {1057#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,646 INFO L273 TraceCheckUtils]: 25: Hoare triple {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,648 INFO L256 TraceCheckUtils]: 26: Hoare triple {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,649 INFO L273 TraceCheckUtils]: 27: Hoare triple {1003#(<= ~SIZE~0 2)} ~cond := #in~cond; {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,649 INFO L273 TraceCheckUtils]: 28: Hoare triple {1003#(<= ~SIZE~0 2)} assume !(0 == ~cond); {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,650 INFO L273 TraceCheckUtils]: 29: Hoare triple {1003#(<= ~SIZE~0 2)} assume true; {1003#(<= ~SIZE~0 2)} is VALID [2018-11-23 12:23:04,651 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1003#(<= ~SIZE~0 2)} {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #67#return; {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,652 INFO L273 TraceCheckUtils]: 31: Hoare triple {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} havoc #t~mem4; {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,655 INFO L273 TraceCheckUtils]: 32: Hoare triple {1082#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1107#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-23 12:23:04,656 INFO L273 TraceCheckUtils]: 33: Hoare triple {1107#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1000#false} is VALID [2018-11-23 12:23:04,657 INFO L256 TraceCheckUtils]: 34: Hoare triple {1000#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1000#false} is VALID [2018-11-23 12:23:04,657 INFO L273 TraceCheckUtils]: 35: Hoare triple {1000#false} ~cond := #in~cond; {1000#false} is VALID [2018-11-23 12:23:04,657 INFO L273 TraceCheckUtils]: 36: Hoare triple {1000#false} assume 0 == ~cond; {1000#false} is VALID [2018-11-23 12:23:04,657 INFO L273 TraceCheckUtils]: 37: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2018-11-23 12:23:04,660 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:23:04,680 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:04,680 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 8] total 10 [2018-11-23 12:23:04,681 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 38 [2018-11-23 12:23:04,681 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:04,681 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:23:04,733 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:04,733 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:23:04,733 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:23:04,734 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=55, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:23:04,734 INFO L87 Difference]: Start difference. First operand 41 states and 43 transitions. Second operand 10 states. [2018-11-23 12:23:05,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:05,446 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2018-11-23 12:23:05,446 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:23:05,446 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 38 [2018-11-23 12:23:05,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:05,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:23:05,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2018-11-23 12:23:05,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:23:05,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2018-11-23 12:23:05,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2018-11-23 12:23:05,557 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:05,560 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:23:05,560 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 12:23:05,561 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:23:05,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 12:23:05,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 45. [2018-11-23 12:23:05,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:05,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 45 states. [2018-11-23 12:23:05,691 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 45 states. [2018-11-23 12:23:05,691 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 45 states. [2018-11-23 12:23:05,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:05,694 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2018-11-23 12:23:05,695 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2018-11-23 12:23:05,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:05,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:05,695 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 47 states. [2018-11-23 12:23:05,696 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 47 states. [2018-11-23 12:23:05,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:05,698 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2018-11-23 12:23:05,698 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2018-11-23 12:23:05,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:05,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:05,699 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:05,699 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:05,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 12:23:05,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 47 transitions. [2018-11-23 12:23:05,701 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 47 transitions. Word has length 38 [2018-11-23 12:23:05,701 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:05,701 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 47 transitions. [2018-11-23 12:23:05,701 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:23:05,702 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 47 transitions. [2018-11-23 12:23:05,703 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:23:05,703 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:05,703 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:05,703 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:05,703 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:05,703 INFO L82 PathProgramCache]: Analyzing trace with hash -1193168612, now seen corresponding path program 3 times [2018-11-23 12:23:05,704 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:05,704 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:05,705 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:05,705 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:05,705 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:05,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:06,200 INFO L256 TraceCheckUtils]: 0: Hoare triple {1393#true} call ULTIMATE.init(); {1393#true} is VALID [2018-11-23 12:23:06,201 INFO L273 TraceCheckUtils]: 1: Hoare triple {1393#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1393#true} is VALID [2018-11-23 12:23:06,201 INFO L273 TraceCheckUtils]: 2: Hoare triple {1393#true} assume true; {1393#true} is VALID [2018-11-23 12:23:06,202 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1393#true} {1393#true} #63#return; {1393#true} is VALID [2018-11-23 12:23:06,202 INFO L256 TraceCheckUtils]: 4: Hoare triple {1393#true} call #t~ret5 := main(); {1393#true} is VALID [2018-11-23 12:23:06,202 INFO L273 TraceCheckUtils]: 5: Hoare triple {1393#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1393#true} is VALID [2018-11-23 12:23:06,202 INFO L273 TraceCheckUtils]: 6: Hoare triple {1393#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {1393#true} is VALID [2018-11-23 12:23:06,203 INFO L273 TraceCheckUtils]: 7: Hoare triple {1393#true} assume !!(~i~0 >= 0); {1393#true} is VALID [2018-11-23 12:23:06,203 INFO L273 TraceCheckUtils]: 8: Hoare triple {1393#true} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1395#(<= 1 main_~i~0)} is VALID [2018-11-23 12:23:06,204 INFO L273 TraceCheckUtils]: 9: Hoare triple {1395#(<= 1 main_~i~0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1396#(and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-23 12:23:06,205 INFO L273 TraceCheckUtils]: 10: Hoare triple {1396#(and (<= 1 main_~i~0) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1397#(or (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (<= 2 main_~i~0))} is VALID [2018-11-23 12:23:06,205 INFO L273 TraceCheckUtils]: 11: Hoare triple {1397#(or (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (<= 2 main_~i~0))} assume !!(~i~0 >= 0); {1397#(or (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (<= 2 main_~i~0))} is VALID [2018-11-23 12:23:06,206 INFO L273 TraceCheckUtils]: 12: Hoare triple {1397#(or (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (<= 2 main_~i~0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1398#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} is VALID [2018-11-23 12:23:06,208 INFO L273 TraceCheckUtils]: 13: Hoare triple {1398#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1398#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} is VALID [2018-11-23 12:23:06,209 INFO L273 TraceCheckUtils]: 14: Hoare triple {1398#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1399#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} is VALID [2018-11-23 12:23:06,210 INFO L273 TraceCheckUtils]: 15: Hoare triple {1399#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} assume !!(~i~0 >= 0); {1399#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} is VALID [2018-11-23 12:23:06,211 INFO L273 TraceCheckUtils]: 16: Hoare triple {1399#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))))} assume !(~i~0 - 1 >= 0); {1400#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))} is VALID [2018-11-23 12:23:06,212 INFO L273 TraceCheckUtils]: 17: Hoare triple {1400#(<= 2 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 2))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1401#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))))} is VALID [2018-11-23 12:23:06,213 INFO L273 TraceCheckUtils]: 18: Hoare triple {1401#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1401#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))))} is VALID [2018-11-23 12:23:06,214 INFO L273 TraceCheckUtils]: 19: Hoare triple {1401#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))))} assume !(~i~0 >= 0); {1401#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))))} is VALID [2018-11-23 12:23:06,214 INFO L273 TraceCheckUtils]: 20: Hoare triple {1401#(<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))))} ~i~0 := 0; {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:06,215 INFO L273 TraceCheckUtils]: 21: Hoare triple {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:06,216 INFO L256 TraceCheckUtils]: 22: Hoare triple {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1393#true} is VALID [2018-11-23 12:23:06,216 INFO L273 TraceCheckUtils]: 23: Hoare triple {1393#true} ~cond := #in~cond; {1403#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:06,217 INFO L273 TraceCheckUtils]: 24: Hoare triple {1403#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {1404#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:06,217 INFO L273 TraceCheckUtils]: 25: Hoare triple {1404#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1404#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:06,218 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1404#(not (= |__VERIFIER_assert_#in~cond| 0))} {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} #67#return; {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:06,220 INFO L273 TraceCheckUtils]: 27: Hoare triple {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} havoc #t~mem4; {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:06,221 INFO L273 TraceCheckUtils]: 28: Hoare triple {1402#(and (<= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:06,221 INFO L273 TraceCheckUtils]: 29: Hoare triple {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:06,222 INFO L256 TraceCheckUtils]: 30: Hoare triple {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1393#true} is VALID [2018-11-23 12:23:06,222 INFO L273 TraceCheckUtils]: 31: Hoare triple {1393#true} ~cond := #in~cond; {1393#true} is VALID [2018-11-23 12:23:06,222 INFO L273 TraceCheckUtils]: 32: Hoare triple {1393#true} assume !(0 == ~cond); {1393#true} is VALID [2018-11-23 12:23:06,222 INFO L273 TraceCheckUtils]: 33: Hoare triple {1393#true} assume true; {1393#true} is VALID [2018-11-23 12:23:06,223 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1393#true} {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #67#return; {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:06,224 INFO L273 TraceCheckUtils]: 35: Hoare triple {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} havoc #t~mem4; {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:06,225 INFO L273 TraceCheckUtils]: 36: Hoare triple {1405#(<= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1406#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-23 12:23:06,226 INFO L273 TraceCheckUtils]: 37: Hoare triple {1406#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1407#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:06,227 INFO L256 TraceCheckUtils]: 38: Hoare triple {1407#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1404#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:06,227 INFO L273 TraceCheckUtils]: 39: Hoare triple {1404#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1408#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:06,228 INFO L273 TraceCheckUtils]: 40: Hoare triple {1408#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1394#false} is VALID [2018-11-23 12:23:06,228 INFO L273 TraceCheckUtils]: 41: Hoare triple {1394#false} assume !false; {1394#false} is VALID [2018-11-23 12:23:06,234 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 9 proven. 21 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:23:06,234 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:06,234 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP 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 [2018-11-23 12:23:06,254 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:23:06,281 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:23:06,281 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:06,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:06,296 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:06,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:23:06,360 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:23:06,362 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,365 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,372 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,372 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:23:06,451 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 28 [2018-11-23 12:23:06,458 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,459 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,459 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 58 [2018-11-23 12:23:06,463 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,473 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,481 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,482 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:36, output treesize:32 [2018-11-23 12:23:06,546 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 37 [2018-11-23 12:23:06,556 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,557 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,558 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,560 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,562 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,565 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 128 [2018-11-23 12:23:06,569 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,589 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,608 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:06,608 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:23:06,988 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:06,989 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 58 [2018-11-23 12:23:07,004 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,005 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,006 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,007 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,010 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,012 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:07,016 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 9 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 164 [2018-11-23 12:23:07,025 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,047 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:07,068 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:23:07,068 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:66, output treesize:49 [2018-11-23 12:23:07,128 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:07,128 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_13|, main_~i~0]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_13| |main_~#a~0.base|))) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (store |v_#memory_int_13| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:23:07,128 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (< main_~i~0 1) (<= 0 main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:23:09,033 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 37 [2018-11-23 12:23:09,043 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,045 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,046 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,047 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,049 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,050 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:09,051 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,053 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,054 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:09,057 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 85 [2018-11-23 12:23:09,061 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:09,079 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:09,091 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:09,092 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:54, output treesize:7 [2018-11-23 12:23:09,096 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:09,096 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_1]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_1))) (and (= main_~i~0 2) (= (select .cse0 (+ .cse1 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (= (+ v_prenex_1 2) (select .cse0 (+ .cse1 8))) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (<= 0 v_prenex_1) (= (select .cse0 .cse1) v_prenex_1))) [2018-11-23 12:23:09,096 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (<= 2 |main_#t~mem4|)) [2018-11-23 12:23:09,232 INFO L256 TraceCheckUtils]: 0: Hoare triple {1393#true} call ULTIMATE.init(); {1393#true} is VALID [2018-11-23 12:23:09,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {1393#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1393#true} is VALID [2018-11-23 12:23:09,233 INFO L273 TraceCheckUtils]: 2: Hoare triple {1393#true} assume true; {1393#true} is VALID [2018-11-23 12:23:09,233 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1393#true} {1393#true} #63#return; {1393#true} is VALID [2018-11-23 12:23:09,233 INFO L256 TraceCheckUtils]: 4: Hoare triple {1393#true} call #t~ret5 := main(); {1393#true} is VALID [2018-11-23 12:23:09,234 INFO L273 TraceCheckUtils]: 5: Hoare triple {1393#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1393#true} is VALID [2018-11-23 12:23:09,235 INFO L273 TraceCheckUtils]: 6: Hoare triple {1393#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {1430#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:09,236 INFO L273 TraceCheckUtils]: 7: Hoare triple {1430#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {1430#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:09,238 INFO L273 TraceCheckUtils]: 8: Hoare triple {1430#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1430#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:09,242 INFO L273 TraceCheckUtils]: 9: Hoare triple {1430#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1440#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,244 INFO L273 TraceCheckUtils]: 10: Hoare triple {1440#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1444#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,245 INFO L273 TraceCheckUtils]: 11: Hoare triple {1444#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {1444#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,246 INFO L273 TraceCheckUtils]: 12: Hoare triple {1444#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1451#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,247 INFO L273 TraceCheckUtils]: 13: Hoare triple {1451#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1455#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,250 INFO L273 TraceCheckUtils]: 14: Hoare triple {1455#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1459#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,251 INFO L273 TraceCheckUtils]: 15: Hoare triple {1459#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {1463#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,253 INFO L273 TraceCheckUtils]: 16: Hoare triple {1463#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {1467#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,255 INFO L273 TraceCheckUtils]: 17: Hoare triple {1467#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1471#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,257 INFO L273 TraceCheckUtils]: 18: Hoare triple {1471#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1471#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,258 INFO L273 TraceCheckUtils]: 19: Hoare triple {1471#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {1471#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,260 INFO L273 TraceCheckUtils]: 20: Hoare triple {1471#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,262 INFO L273 TraceCheckUtils]: 21: Hoare triple {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,264 INFO L256 TraceCheckUtils]: 22: Hoare triple {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} is VALID [2018-11-23 12:23:09,265 INFO L273 TraceCheckUtils]: 23: Hoare triple {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} ~cond := #in~cond; {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} is VALID [2018-11-23 12:23:09,266 INFO L273 TraceCheckUtils]: 24: Hoare triple {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} assume !(0 == ~cond); {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} is VALID [2018-11-23 12:23:09,267 INFO L273 TraceCheckUtils]: 25: Hoare triple {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} assume true; {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} is VALID [2018-11-23 12:23:09,268 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,269 INFO L273 TraceCheckUtils]: 27: Hoare triple {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,270 INFO L273 TraceCheckUtils]: 28: Hoare triple {1481#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,272 INFO L273 TraceCheckUtils]: 29: Hoare triple {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,275 INFO L256 TraceCheckUtils]: 30: Hoare triple {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} is VALID [2018-11-23 12:23:09,283 INFO L273 TraceCheckUtils]: 31: Hoare triple {1488#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1)))} ~cond := #in~cond; {1517#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:09,284 INFO L273 TraceCheckUtils]: 32: Hoare triple {1517#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1521#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1))))} is VALID [2018-11-23 12:23:09,285 INFO L273 TraceCheckUtils]: 33: Hoare triple {1521#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1))))} assume true; {1521#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1))))} is VALID [2018-11-23 12:23:09,286 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1521#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int) (v_prenex_1 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (* 4 v_prenex_1)) v_prenex_1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 8)) (+ v_prenex_1 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* 4 v_prenex_1) 4)) (+ v_prenex_1 1)) (< v_prenex_1 1) (<= 0 v_prenex_1))))} {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,287 INFO L273 TraceCheckUtils]: 35: Hoare triple {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,288 INFO L273 TraceCheckUtils]: 36: Hoare triple {1507#(and (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1534#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:09,290 INFO L273 TraceCheckUtils]: 37: Hoare triple {1534#(and (= main_~i~0 2) (exists ((v_prenex_1 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 8)) (+ v_prenex_1 2)) (< v_prenex_1 1) (<= 0 v_prenex_1) (= v_prenex_1 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset|))) (= (+ v_prenex_1 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_1) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1538#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} is VALID [2018-11-23 12:23:09,291 INFO L256 TraceCheckUtils]: 38: Hoare triple {1538#(and (= main_~i~0 2) (<= 2 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1542#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:09,292 INFO L273 TraceCheckUtils]: 39: Hoare triple {1542#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1546#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:09,293 INFO L273 TraceCheckUtils]: 40: Hoare triple {1546#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1394#false} is VALID [2018-11-23 12:23:09,293 INFO L273 TraceCheckUtils]: 41: Hoare triple {1394#false} assume !false; {1394#false} is VALID [2018-11-23 12:23:09,307 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 13 proven. 17 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:23:09,326 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:09,326 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 20] total 34 [2018-11-23 12:23:09,327 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 42 [2018-11-23 12:23:09,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:09,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states. [2018-11-23 12:23:09,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:09,450 INFO L459 AbstractCegarLoop]: Interpolant automaton has 34 states [2018-11-23 12:23:09,451 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2018-11-23 12:23:09,452 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=955, Unknown=0, NotChecked=0, Total=1122 [2018-11-23 12:23:09,452 INFO L87 Difference]: Start difference. First operand 45 states and 47 transitions. Second operand 34 states. [2018-11-23 12:23:13,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:13,340 INFO L93 Difference]: Finished difference Result 60 states and 63 transitions. [2018-11-23 12:23:13,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:23:13,340 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 42 [2018-11-23 12:23:13,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:13,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:23:13,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 57 transitions. [2018-11-23 12:23:13,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:23:13,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 57 transitions. [2018-11-23 12:23:13,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 57 transitions. [2018-11-23 12:23:13,476 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:13,479 INFO L225 Difference]: With dead ends: 60 [2018-11-23 12:23:13,479 INFO L226 Difference]: Without dead ends: 58 [2018-11-23 12:23:13,481 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 25 SyntacticMatches, 5 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 623 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=370, Invalid=1982, Unknown=0, NotChecked=0, Total=2352 [2018-11-23 12:23:13,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-23 12:23:13,657 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 53. [2018-11-23 12:23:13,657 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:13,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 53 states. [2018-11-23 12:23:13,658 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 53 states. [2018-11-23 12:23:13,658 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 53 states. [2018-11-23 12:23:13,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:13,661 INFO L93 Difference]: Finished difference Result 58 states and 61 transitions. [2018-11-23 12:23:13,661 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 61 transitions. [2018-11-23 12:23:13,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:13,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:13,662 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 58 states. [2018-11-23 12:23:13,662 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 58 states. [2018-11-23 12:23:13,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:13,664 INFO L93 Difference]: Finished difference Result 58 states and 61 transitions. [2018-11-23 12:23:13,664 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 61 transitions. [2018-11-23 12:23:13,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:13,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:13,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:13,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:13,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:23:13,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 55 transitions. [2018-11-23 12:23:13,667 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 55 transitions. Word has length 42 [2018-11-23 12:23:13,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:13,668 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 55 transitions. [2018-11-23 12:23:13,668 INFO L481 AbstractCegarLoop]: Interpolant automaton has 34 states. [2018-11-23 12:23:13,668 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 55 transitions. [2018-11-23 12:23:13,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 12:23:13,669 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:13,669 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:13,669 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:13,670 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:13,670 INFO L82 PathProgramCache]: Analyzing trace with hash 33741007, now seen corresponding path program 4 times [2018-11-23 12:23:13,670 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:13,670 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:13,671 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:13,671 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:13,671 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:13,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:13,851 INFO L256 TraceCheckUtils]: 0: Hoare triple {1853#true} call ULTIMATE.init(); {1853#true} is VALID [2018-11-23 12:23:13,851 INFO L273 TraceCheckUtils]: 1: Hoare triple {1853#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1853#true} is VALID [2018-11-23 12:23:13,852 INFO L273 TraceCheckUtils]: 2: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 12:23:13,852 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1853#true} {1853#true} #63#return; {1853#true} is VALID [2018-11-23 12:23:13,852 INFO L256 TraceCheckUtils]: 4: Hoare triple {1853#true} call #t~ret5 := main(); {1853#true} is VALID [2018-11-23 12:23:13,853 INFO L273 TraceCheckUtils]: 5: Hoare triple {1853#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1853#true} is VALID [2018-11-23 12:23:13,853 INFO L273 TraceCheckUtils]: 6: Hoare triple {1853#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,854 INFO L273 TraceCheckUtils]: 7: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,854 INFO L273 TraceCheckUtils]: 8: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,854 INFO L273 TraceCheckUtils]: 9: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,855 INFO L273 TraceCheckUtils]: 10: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,856 INFO L273 TraceCheckUtils]: 11: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,856 INFO L273 TraceCheckUtils]: 12: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,857 INFO L273 TraceCheckUtils]: 13: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,857 INFO L273 TraceCheckUtils]: 14: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1857#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:13,858 INFO L273 TraceCheckUtils]: 15: Hoare triple {1857#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {1857#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:13,858 INFO L273 TraceCheckUtils]: 16: Hoare triple {1857#(<= ~SIZE~0 (+ main_~i~0 3))} assume !(~i~0 - 1 >= 0); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:13,859 INFO L273 TraceCheckUtils]: 17: Hoare triple {1858#(<= ~SIZE~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:13,860 INFO L273 TraceCheckUtils]: 18: Hoare triple {1858#(<= ~SIZE~0 3)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:13,860 INFO L273 TraceCheckUtils]: 19: Hoare triple {1858#(<= ~SIZE~0 3)} assume !(~i~0 >= 0); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:13,862 INFO L273 TraceCheckUtils]: 20: Hoare triple {1858#(<= ~SIZE~0 3)} ~i~0 := 0; {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:13,863 INFO L273 TraceCheckUtils]: 21: Hoare triple {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:13,863 INFO L256 TraceCheckUtils]: 22: Hoare triple {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1853#true} is VALID [2018-11-23 12:23:13,863 INFO L273 TraceCheckUtils]: 23: Hoare triple {1853#true} ~cond := #in~cond; {1853#true} is VALID [2018-11-23 12:23:13,864 INFO L273 TraceCheckUtils]: 24: Hoare triple {1853#true} assume !(0 == ~cond); {1853#true} is VALID [2018-11-23 12:23:13,864 INFO L273 TraceCheckUtils]: 25: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 12:23:13,864 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1853#true} {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} #67#return; {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:13,865 INFO L273 TraceCheckUtils]: 27: Hoare triple {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} havoc #t~mem4; {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} is VALID [2018-11-23 12:23:13,865 INFO L273 TraceCheckUtils]: 28: Hoare triple {1859#(and (<= ~SIZE~0 3) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,866 INFO L273 TraceCheckUtils]: 29: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,866 INFO L256 TraceCheckUtils]: 30: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1853#true} is VALID [2018-11-23 12:23:13,866 INFO L273 TraceCheckUtils]: 31: Hoare triple {1853#true} ~cond := #in~cond; {1853#true} is VALID [2018-11-23 12:23:13,866 INFO L273 TraceCheckUtils]: 32: Hoare triple {1853#true} assume !(0 == ~cond); {1853#true} is VALID [2018-11-23 12:23:13,866 INFO L273 TraceCheckUtils]: 33: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 12:23:13,870 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1853#true} {1856#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,871 INFO L273 TraceCheckUtils]: 35: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:13,872 INFO L273 TraceCheckUtils]: 36: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,872 INFO L273 TraceCheckUtils]: 37: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,872 INFO L256 TraceCheckUtils]: 38: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1853#true} is VALID [2018-11-23 12:23:13,872 INFO L273 TraceCheckUtils]: 39: Hoare triple {1853#true} ~cond := #in~cond; {1853#true} is VALID [2018-11-23 12:23:13,873 INFO L273 TraceCheckUtils]: 40: Hoare triple {1853#true} assume !(0 == ~cond); {1853#true} is VALID [2018-11-23 12:23:13,873 INFO L273 TraceCheckUtils]: 41: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 12:23:13,873 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1853#true} {1855#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,874 INFO L273 TraceCheckUtils]: 43: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:13,874 INFO L273 TraceCheckUtils]: 44: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1860#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:13,875 INFO L273 TraceCheckUtils]: 45: Hoare triple {1860#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1854#false} is VALID [2018-11-23 12:23:13,875 INFO L256 TraceCheckUtils]: 46: Hoare triple {1854#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1854#false} is VALID [2018-11-23 12:23:13,876 INFO L273 TraceCheckUtils]: 47: Hoare triple {1854#false} ~cond := #in~cond; {1854#false} is VALID [2018-11-23 12:23:13,876 INFO L273 TraceCheckUtils]: 48: Hoare triple {1854#false} assume 0 == ~cond; {1854#false} is VALID [2018-11-23 12:23:13,876 INFO L273 TraceCheckUtils]: 49: Hoare triple {1854#false} assume !false; {1854#false} is VALID [2018-11-23 12:23:13,880 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 15 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:23:13,881 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:13,881 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP 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 [2018-11-23 12:23:13,891 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:23:13,927 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:23:13,927 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:13,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:13,961 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:14,364 INFO L256 TraceCheckUtils]: 0: Hoare triple {1853#true} call ULTIMATE.init(); {1853#true} is VALID [2018-11-23 12:23:14,364 INFO L273 TraceCheckUtils]: 1: Hoare triple {1853#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1853#true} is VALID [2018-11-23 12:23:14,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {1853#true} assume true; {1853#true} is VALID [2018-11-23 12:23:14,365 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1853#true} {1853#true} #63#return; {1853#true} is VALID [2018-11-23 12:23:14,365 INFO L256 TraceCheckUtils]: 4: Hoare triple {1853#true} call #t~ret5 := main(); {1853#true} is VALID [2018-11-23 12:23:14,365 INFO L273 TraceCheckUtils]: 5: Hoare triple {1853#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1853#true} is VALID [2018-11-23 12:23:14,366 INFO L273 TraceCheckUtils]: 6: Hoare triple {1853#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:14,366 INFO L273 TraceCheckUtils]: 7: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:14,367 INFO L273 TraceCheckUtils]: 8: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:14,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1855#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:14,368 INFO L273 TraceCheckUtils]: 10: Hoare triple {1855#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:14,368 INFO L273 TraceCheckUtils]: 11: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:14,369 INFO L273 TraceCheckUtils]: 12: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:14,369 INFO L273 TraceCheckUtils]: 13: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1856#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:14,370 INFO L273 TraceCheckUtils]: 14: Hoare triple {1856#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1857#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:14,371 INFO L273 TraceCheckUtils]: 15: Hoare triple {1857#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {1857#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:14,372 INFO L273 TraceCheckUtils]: 16: Hoare triple {1857#(<= ~SIZE~0 (+ main_~i~0 3))} assume !(~i~0 - 1 >= 0); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,373 INFO L273 TraceCheckUtils]: 17: Hoare triple {1858#(<= ~SIZE~0 3)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,373 INFO L273 TraceCheckUtils]: 18: Hoare triple {1858#(<= ~SIZE~0 3)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,374 INFO L273 TraceCheckUtils]: 19: Hoare triple {1858#(<= ~SIZE~0 3)} assume !(~i~0 >= 0); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,375 INFO L273 TraceCheckUtils]: 20: Hoare triple {1858#(<= ~SIZE~0 3)} ~i~0 := 0; {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,375 INFO L273 TraceCheckUtils]: 21: Hoare triple {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,377 INFO L256 TraceCheckUtils]: 22: Hoare triple {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,377 INFO L273 TraceCheckUtils]: 23: Hoare triple {1858#(<= ~SIZE~0 3)} ~cond := #in~cond; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,398 INFO L273 TraceCheckUtils]: 24: Hoare triple {1858#(<= ~SIZE~0 3)} assume !(0 == ~cond); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,412 INFO L273 TraceCheckUtils]: 25: Hoare triple {1858#(<= ~SIZE~0 3)} assume true; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,421 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1858#(<= ~SIZE~0 3)} {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} #67#return; {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,435 INFO L273 TraceCheckUtils]: 27: Hoare triple {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,450 INFO L273 TraceCheckUtils]: 28: Hoare triple {1924#(and (<= 0 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,454 INFO L273 TraceCheckUtils]: 29: Hoare triple {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,456 INFO L256 TraceCheckUtils]: 30: Hoare triple {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,456 INFO L273 TraceCheckUtils]: 31: Hoare triple {1858#(<= ~SIZE~0 3)} ~cond := #in~cond; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,458 INFO L273 TraceCheckUtils]: 32: Hoare triple {1858#(<= ~SIZE~0 3)} assume !(0 == ~cond); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,458 INFO L273 TraceCheckUtils]: 33: Hoare triple {1858#(<= ~SIZE~0 3)} assume true; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,460 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {1858#(<= ~SIZE~0 3)} {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} #67#return; {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,460 INFO L273 TraceCheckUtils]: 35: Hoare triple {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,461 INFO L273 TraceCheckUtils]: 36: Hoare triple {1949#(and (<= 1 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,461 INFO L273 TraceCheckUtils]: 37: Hoare triple {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,462 INFO L256 TraceCheckUtils]: 38: Hoare triple {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,464 INFO L273 TraceCheckUtils]: 39: Hoare triple {1858#(<= ~SIZE~0 3)} ~cond := #in~cond; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,464 INFO L273 TraceCheckUtils]: 40: Hoare triple {1858#(<= ~SIZE~0 3)} assume !(0 == ~cond); {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,465 INFO L273 TraceCheckUtils]: 41: Hoare triple {1858#(<= ~SIZE~0 3)} assume true; {1858#(<= ~SIZE~0 3)} is VALID [2018-11-23 12:23:14,466 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1858#(<= ~SIZE~0 3)} {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} #67#return; {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,467 INFO L273 TraceCheckUtils]: 43: Hoare triple {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} havoc #t~mem4; {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} is VALID [2018-11-23 12:23:14,470 INFO L273 TraceCheckUtils]: 44: Hoare triple {1974#(and (<= 2 main_~i~0) (<= ~SIZE~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1999#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:14,471 INFO L273 TraceCheckUtils]: 45: Hoare triple {1999#(and (<= ~SIZE~0 3) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1854#false} is VALID [2018-11-23 12:23:14,472 INFO L256 TraceCheckUtils]: 46: Hoare triple {1854#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {1854#false} is VALID [2018-11-23 12:23:14,472 INFO L273 TraceCheckUtils]: 47: Hoare triple {1854#false} ~cond := #in~cond; {1854#false} is VALID [2018-11-23 12:23:14,472 INFO L273 TraceCheckUtils]: 48: Hoare triple {1854#false} assume 0 == ~cond; {1854#false} is VALID [2018-11-23 12:23:14,472 INFO L273 TraceCheckUtils]: 49: Hoare triple {1854#false} assume !false; {1854#false} is VALID [2018-11-23 12:23:14,476 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 24 proven. 15 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:23:14,496 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:14,496 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 10] total 12 [2018-11-23 12:23:14,496 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 50 [2018-11-23 12:23:14,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:14,497 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:23:14,664 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:14,664 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:23:14,665 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:23:14,665 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:23:14,665 INFO L87 Difference]: Start difference. First operand 53 states and 55 transitions. Second operand 12 states. [2018-11-23 12:23:15,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,340 INFO L93 Difference]: Finished difference Result 104 states and 109 transitions. [2018-11-23 12:23:15,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:23:15,340 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 50 [2018-11-23 12:23:15,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:15,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:23:15,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2018-11-23 12:23:15,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:23:15,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 78 transitions. [2018-11-23 12:23:15,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 78 transitions. [2018-11-23 12:23:15,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:15,453 INFO L225 Difference]: With dead ends: 104 [2018-11-23 12:23:15,454 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 12:23:15,455 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:23:15,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 12:23:15,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 57. [2018-11-23 12:23:15,618 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:15,618 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 57 states. [2018-11-23 12:23:15,618 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 57 states. [2018-11-23 12:23:15,618 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 57 states. [2018-11-23 12:23:15,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,621 INFO L93 Difference]: Finished difference Result 59 states and 61 transitions. [2018-11-23 12:23:15,621 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 61 transitions. [2018-11-23 12:23:15,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:15,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:15,621 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 59 states. [2018-11-23 12:23:15,621 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 59 states. [2018-11-23 12:23:15,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:15,624 INFO L93 Difference]: Finished difference Result 59 states and 61 transitions. [2018-11-23 12:23:15,624 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 61 transitions. [2018-11-23 12:23:15,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:15,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:15,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:15,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:15,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 12:23:15,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 59 transitions. [2018-11-23 12:23:15,627 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 59 transitions. Word has length 50 [2018-11-23 12:23:15,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:15,627 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 59 transitions. [2018-11-23 12:23:15,627 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:23:15,627 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 59 transitions. [2018-11-23 12:23:15,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:23:15,628 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:15,629 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:15,629 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:15,629 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:15,629 INFO L82 PathProgramCache]: Analyzing trace with hash 581379210, now seen corresponding path program 5 times [2018-11-23 12:23:15,629 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:15,630 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:15,630 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:15,630 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:15,631 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:15,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:16,363 INFO L256 TraceCheckUtils]: 0: Hoare triple {2352#true} call ULTIMATE.init(); {2352#true} is VALID [2018-11-23 12:23:16,364 INFO L273 TraceCheckUtils]: 1: Hoare triple {2352#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2352#true} is VALID [2018-11-23 12:23:16,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2018-11-23 12:23:16,364 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2352#true} #63#return; {2352#true} is VALID [2018-11-23 12:23:16,365 INFO L256 TraceCheckUtils]: 4: Hoare triple {2352#true} call #t~ret5 := main(); {2352#true} is VALID [2018-11-23 12:23:16,365 INFO L273 TraceCheckUtils]: 5: Hoare triple {2352#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2352#true} is VALID [2018-11-23 12:23:16,365 INFO L273 TraceCheckUtils]: 6: Hoare triple {2352#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {2352#true} is VALID [2018-11-23 12:23:16,366 INFO L273 TraceCheckUtils]: 7: Hoare triple {2352#true} assume !!(~i~0 >= 0); {2352#true} is VALID [2018-11-23 12:23:16,366 INFO L273 TraceCheckUtils]: 8: Hoare triple {2352#true} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {2352#true} is VALID [2018-11-23 12:23:16,373 INFO L273 TraceCheckUtils]: 9: Hoare triple {2352#true} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2354#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-23 12:23:16,374 INFO L273 TraceCheckUtils]: 10: Hoare triple {2354#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,374 INFO L273 TraceCheckUtils]: 11: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume !!(~i~0 >= 0); {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,375 INFO L273 TraceCheckUtils]: 12: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,376 INFO L273 TraceCheckUtils]: 13: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,377 INFO L273 TraceCheckUtils]: 14: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:23:16,377 INFO L273 TraceCheckUtils]: 15: Hoare triple {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} assume !!(~i~0 >= 0); {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:23:16,378 INFO L273 TraceCheckUtils]: 16: Hoare triple {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {2357#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))))} is VALID [2018-11-23 12:23:16,379 INFO L273 TraceCheckUtils]: 17: Hoare triple {2357#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2357#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))))} is VALID [2018-11-23 12:23:16,381 INFO L273 TraceCheckUtils]: 18: Hoare triple {2357#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2358#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))))} is VALID [2018-11-23 12:23:16,382 INFO L273 TraceCheckUtils]: 19: Hoare triple {2358#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))))} assume !!(~i~0 >= 0); {2358#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))))} is VALID [2018-11-23 12:23:16,383 INFO L273 TraceCheckUtils]: 20: Hoare triple {2358#(and (<= 0 main_~i~0) (or (<= 1 main_~i~0) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))))} assume !(~i~0 - 1 >= 0); {2359#(<= 3 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 3))))} is VALID [2018-11-23 12:23:16,384 INFO L273 TraceCheckUtils]: 21: Hoare triple {2359#(<= 3 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 3))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2360#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))))} is VALID [2018-11-23 12:23:16,385 INFO L273 TraceCheckUtils]: 22: Hoare triple {2360#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2360#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))))} is VALID [2018-11-23 12:23:16,386 INFO L273 TraceCheckUtils]: 23: Hoare triple {2360#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))))} assume !(~i~0 >= 0); {2360#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))))} is VALID [2018-11-23 12:23:16,386 INFO L273 TraceCheckUtils]: 24: Hoare triple {2360#(<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))))} ~i~0 := 0; {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,387 INFO L273 TraceCheckUtils]: 25: Hoare triple {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,388 INFO L256 TraceCheckUtils]: 26: Hoare triple {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2352#true} is VALID [2018-11-23 12:23:16,388 INFO L273 TraceCheckUtils]: 27: Hoare triple {2352#true} ~cond := #in~cond; {2362#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:16,389 INFO L273 TraceCheckUtils]: 28: Hoare triple {2362#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {2363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:16,389 INFO L273 TraceCheckUtils]: 29: Hoare triple {2363#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:16,391 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2363#(not (= |__VERIFIER_assert_#in~cond| 0))} {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} #67#return; {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,391 INFO L273 TraceCheckUtils]: 31: Hoare triple {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} havoc #t~mem4; {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} is VALID [2018-11-23 12:23:16,393 INFO L273 TraceCheckUtils]: 32: Hoare triple {2361#(and (<= 3 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:23:16,393 INFO L273 TraceCheckUtils]: 33: Hoare triple {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:23:16,393 INFO L256 TraceCheckUtils]: 34: Hoare triple {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2352#true} is VALID [2018-11-23 12:23:16,394 INFO L273 TraceCheckUtils]: 35: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2018-11-23 12:23:16,394 INFO L273 TraceCheckUtils]: 36: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2018-11-23 12:23:16,394 INFO L273 TraceCheckUtils]: 37: Hoare triple {2352#true} assume true; {2352#true} is VALID [2018-11-23 12:23:16,395 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2352#true} {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} #67#return; {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:23:16,396 INFO L273 TraceCheckUtils]: 39: Hoare triple {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} havoc #t~mem4; {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:23:16,397 INFO L273 TraceCheckUtils]: 40: Hoare triple {2356#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,397 INFO L273 TraceCheckUtils]: 41: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,397 INFO L256 TraceCheckUtils]: 42: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2352#true} is VALID [2018-11-23 12:23:16,398 INFO L273 TraceCheckUtils]: 43: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2018-11-23 12:23:16,398 INFO L273 TraceCheckUtils]: 44: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2018-11-23 12:23:16,398 INFO L273 TraceCheckUtils]: 45: Hoare triple {2352#true} assume true; {2352#true} is VALID [2018-11-23 12:23:16,399 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {2352#true} {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #67#return; {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,399 INFO L273 TraceCheckUtils]: 47: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} havoc #t~mem4; {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:23:16,401 INFO L273 TraceCheckUtils]: 48: Hoare triple {2355#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2364#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-23 12:23:16,401 INFO L273 TraceCheckUtils]: 49: Hoare triple {2364#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2365#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:16,402 INFO L256 TraceCheckUtils]: 50: Hoare triple {2365#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:16,402 INFO L273 TraceCheckUtils]: 51: Hoare triple {2363#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2366#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:16,403 INFO L273 TraceCheckUtils]: 52: Hoare triple {2366#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2353#false} is VALID [2018-11-23 12:23:16,403 INFO L273 TraceCheckUtils]: 53: Hoare triple {2353#false} assume !false; {2353#false} is VALID [2018-11-23 12:23:16,411 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 15 proven. 43 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:16,412 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:16,412 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:16,422 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:23:16,458 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 12:23:16,458 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:16,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:16,481 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:16,540 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:23:16,544 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:23:16,546 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,549 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,556 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,556 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:23:16,634 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 28 [2018-11-23 12:23:16,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,644 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,645 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 58 [2018-11-23 12:23:16,649 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,660 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,669 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,669 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:36, output treesize:32 [2018-11-23 12:23:16,741 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 37 [2018-11-23 12:23:16,753 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,754 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,755 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,757 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,758 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,760 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:16,761 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 128 [2018-11-23 12:23:16,769 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,787 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,799 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:16,799 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:23:17,067 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 51 [2018-11-23 12:23:17,075 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,077 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,079 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,081 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,083 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,085 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,089 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,091 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,093 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,098 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,099 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 245 [2018-11-23 12:23:17,104 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,150 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,173 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,173 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:63, output treesize:59 [2018-11-23 12:23:17,270 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 70 [2018-11-23 12:23:17,395 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,414 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,416 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,418 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,419 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,420 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,426 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,428 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,429 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,430 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,432 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,433 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,435 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,437 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,438 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,440 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 291 [2018-11-23 12:23:17,470 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,518 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,533 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:17,534 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:74, output treesize:57 [2018-11-23 12:23:17,542 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:17,542 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_18|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_18| |main_~#a~0.base|))) (and (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= |#memory_int| (store |v_#memory_int_18| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:23:17,542 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:23:17,899 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 70 [2018-11-23 12:23:17,916 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,918 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,922 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,925 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,927 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,932 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,933 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,934 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,935 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,937 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,939 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,940 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:17,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 291 [2018-11-23 12:23:17,948 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:18,001 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:18,031 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:23:18,031 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:80, output treesize:63 [2018-11-23 12:23:20,040 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:20,041 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, main_~i~0]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_19| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (< main_~i~0 1) (<= 0 main_~i~0) (= (+ (select .cse0 .cse2) 1) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (store |v_#memory_int_19| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:23:20,041 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:23:22,260 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 48 [2018-11-23 12:23:22,277 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,279 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,281 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,287 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,289 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,291 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,298 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,300 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:22,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,303 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,305 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,308 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:22,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 12 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 151 [2018-11-23 12:23:22,316 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:22,341 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:22,352 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:22,352 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:67, output treesize:7 [2018-11-23 12:23:22,357 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:22,358 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_4]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_4))) (and (= main_~i~0 3) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select .cse0 (+ .cse1 4))) (< v_prenex_4 1) (= v_prenex_4 (select .cse0 .cse1)) (= (+ v_prenex_4 2) (select .cse0 (+ .cse1 8))) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (select .cse0 (+ .cse1 12)) (+ v_prenex_4 3)))) [2018-11-23 12:23:22,358 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 3) (<= 3 |main_#t~mem4|)) [2018-11-23 12:23:22,463 INFO L256 TraceCheckUtils]: 0: Hoare triple {2352#true} call ULTIMATE.init(); {2352#true} is VALID [2018-11-23 12:23:22,463 INFO L273 TraceCheckUtils]: 1: Hoare triple {2352#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2352#true} is VALID [2018-11-23 12:23:22,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2018-11-23 12:23:22,463 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2352#true} #63#return; {2352#true} is VALID [2018-11-23 12:23:22,464 INFO L256 TraceCheckUtils]: 4: Hoare triple {2352#true} call #t~ret5 := main(); {2352#true} is VALID [2018-11-23 12:23:22,464 INFO L273 TraceCheckUtils]: 5: Hoare triple {2352#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2352#true} is VALID [2018-11-23 12:23:22,465 INFO L273 TraceCheckUtils]: 6: Hoare triple {2352#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {2388#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:22,465 INFO L273 TraceCheckUtils]: 7: Hoare triple {2388#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {2388#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:22,466 INFO L273 TraceCheckUtils]: 8: Hoare triple {2388#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {2388#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:22,466 INFO L273 TraceCheckUtils]: 9: Hoare triple {2388#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2398#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,467 INFO L273 TraceCheckUtils]: 10: Hoare triple {2398#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2402#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,468 INFO L273 TraceCheckUtils]: 11: Hoare triple {2402#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {2402#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,469 INFO L273 TraceCheckUtils]: 12: Hoare triple {2402#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {2409#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,471 INFO L273 TraceCheckUtils]: 13: Hoare triple {2409#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2413#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,473 INFO L273 TraceCheckUtils]: 14: Hoare triple {2413#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2417#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,474 INFO L273 TraceCheckUtils]: 15: Hoare triple {2417#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {2417#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,476 INFO L273 TraceCheckUtils]: 16: Hoare triple {2417#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {2424#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,478 INFO L273 TraceCheckUtils]: 17: Hoare triple {2424#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2428#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,481 INFO L273 TraceCheckUtils]: 18: Hoare triple {2428#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2432#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,482 INFO L273 TraceCheckUtils]: 19: Hoare triple {2432#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {2436#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,484 INFO L273 TraceCheckUtils]: 20: Hoare triple {2436#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {2440#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,486 INFO L273 TraceCheckUtils]: 21: Hoare triple {2440#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2444#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,488 INFO L273 TraceCheckUtils]: 22: Hoare triple {2444#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {2444#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,489 INFO L273 TraceCheckUtils]: 23: Hoare triple {2444#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {2444#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,490 INFO L273 TraceCheckUtils]: 24: Hoare triple {2444#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,491 INFO L273 TraceCheckUtils]: 25: Hoare triple {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,493 INFO L256 TraceCheckUtils]: 26: Hoare triple {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,494 INFO L273 TraceCheckUtils]: 27: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} ~cond := #in~cond; {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,495 INFO L273 TraceCheckUtils]: 28: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} assume !(0 == ~cond); {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,495 INFO L273 TraceCheckUtils]: 29: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} assume true; {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,496 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,498 INFO L273 TraceCheckUtils]: 31: Hoare triple {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,499 INFO L273 TraceCheckUtils]: 32: Hoare triple {2454#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,500 INFO L273 TraceCheckUtils]: 33: Hoare triple {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,503 INFO L256 TraceCheckUtils]: 34: Hoare triple {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,504 INFO L273 TraceCheckUtils]: 35: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} ~cond := #in~cond; {2490#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:22,505 INFO L273 TraceCheckUtils]: 36: Hoare triple {2490#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {2494#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1))))} is VALID [2018-11-23 12:23:22,506 INFO L273 TraceCheckUtils]: 37: Hoare triple {2494#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1))))} assume true; {2494#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1))))} is VALID [2018-11-23 12:23:22,507 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2494#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1))))} {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,508 INFO L273 TraceCheckUtils]: 39: Hoare triple {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,511 INFO L273 TraceCheckUtils]: 40: Hoare triple {2480#(and (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,513 INFO L273 TraceCheckUtils]: 41: Hoare triple {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,514 INFO L256 TraceCheckUtils]: 42: Hoare triple {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,515 INFO L273 TraceCheckUtils]: 43: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} ~cond := #in~cond; {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,515 INFO L273 TraceCheckUtils]: 44: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} assume !(0 == ~cond); {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,516 INFO L273 TraceCheckUtils]: 45: Hoare triple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} assume true; {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} is VALID [2018-11-23 12:23:22,517 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {2461#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (v_prenex_4 Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 12)) (+ v_prenex_4 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 4)) (+ v_prenex_4 1)) (<= 0 v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (* 4 v_prenex_4)) v_prenex_4) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ (* 4 v_prenex_4) 8)) (+ v_prenex_4 2)) (< v_prenex_4 1)))} {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} #67#return; {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,518 INFO L273 TraceCheckUtils]: 47: Hoare triple {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,520 INFO L273 TraceCheckUtils]: 48: Hoare triple {2507#(and (= main_~i~0 2) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2532#(and (= main_~i~0 3) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:22,521 INFO L273 TraceCheckUtils]: 49: Hoare triple {2532#(and (= main_~i~0 3) (exists ((v_prenex_4 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 8)) (+ v_prenex_4 2)) (<= 0 v_prenex_4) (= (+ v_prenex_4 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 4))) (= v_prenex_4 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_4) |main_~#a~0.offset| 12)) (+ v_prenex_4 3)) (< v_prenex_4 1))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2536#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} is VALID [2018-11-23 12:23:22,522 INFO L256 TraceCheckUtils]: 50: Hoare triple {2536#(and (= main_~i~0 3) (<= 3 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {2540#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:22,523 INFO L273 TraceCheckUtils]: 51: Hoare triple {2540#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2544#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:22,524 INFO L273 TraceCheckUtils]: 52: Hoare triple {2544#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2353#false} is VALID [2018-11-23 12:23:22,524 INFO L273 TraceCheckUtils]: 53: Hoare triple {2353#false} assume !false; {2353#false} is VALID [2018-11-23 12:23:22,547 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 23 proven. 35 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 12:23:22,567 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:22,567 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 24] total 37 [2018-11-23 12:23:22,568 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 54 [2018-11-23 12:23:22,568 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:22,568 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states. [2018-11-23 12:23:22,719 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:22,719 INFO L459 AbstractCegarLoop]: Interpolant automaton has 37 states [2018-11-23 12:23:22,719 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2018-11-23 12:23:22,720 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=1136, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 12:23:22,720 INFO L87 Difference]: Start difference. First operand 57 states and 59 transitions. Second operand 37 states. [2018-11-23 12:23:29,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:29,770 INFO L93 Difference]: Finished difference Result 124 states and 131 transitions. [2018-11-23 12:23:29,771 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 52 states. [2018-11-23 12:23:29,771 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 54 [2018-11-23 12:23:29,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:29,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:23:29,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 113 transitions. [2018-11-23 12:23:29,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:23:29,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 113 transitions. [2018-11-23 12:23:29,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 52 states and 113 transitions. [2018-11-23 12:23:29,991 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:29,995 INFO L225 Difference]: With dead ends: 124 [2018-11-23 12:23:29,995 INFO L226 Difference]: Without dead ends: 122 [2018-11-23 12:23:29,997 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 31 SyntacticMatches, 12 SemanticMatches, 73 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1695 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=737, Invalid=4813, Unknown=0, NotChecked=0, Total=5550 [2018-11-23 12:23:29,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2018-11-23 12:23:30,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 65. [2018-11-23 12:23:30,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:30,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand 65 states. [2018-11-23 12:23:30,248 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 65 states. [2018-11-23 12:23:30,248 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 65 states. [2018-11-23 12:23:30,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:30,252 INFO L93 Difference]: Finished difference Result 122 states and 128 transitions. [2018-11-23 12:23:30,252 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 128 transitions. [2018-11-23 12:23:30,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:30,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:30,253 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 122 states. [2018-11-23 12:23:30,253 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 122 states. [2018-11-23 12:23:30,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:30,258 INFO L93 Difference]: Finished difference Result 122 states and 128 transitions. [2018-11-23 12:23:30,258 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 128 transitions. [2018-11-23 12:23:30,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:30,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:30,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:30,259 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:30,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 12:23:30,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 67 transitions. [2018-11-23 12:23:30,261 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 67 transitions. Word has length 54 [2018-11-23 12:23:30,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:30,262 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 67 transitions. [2018-11-23 12:23:30,262 INFO L481 AbstractCegarLoop]: Interpolant automaton has 37 states. [2018-11-23 12:23:30,262 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 67 transitions. [2018-11-23 12:23:30,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:23:30,263 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:30,263 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:30,263 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:30,263 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:30,264 INFO L82 PathProgramCache]: Analyzing trace with hash 1242365501, now seen corresponding path program 6 times [2018-11-23 12:23:30,264 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:30,264 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:30,264 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:30,265 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:30,265 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:30,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:31,002 INFO L256 TraceCheckUtils]: 0: Hoare triple {3126#true} call ULTIMATE.init(); {3126#true} is VALID [2018-11-23 12:23:31,003 INFO L273 TraceCheckUtils]: 1: Hoare triple {3126#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3126#true} is VALID [2018-11-23 12:23:31,003 INFO L273 TraceCheckUtils]: 2: Hoare triple {3126#true} assume true; {3126#true} is VALID [2018-11-23 12:23:31,003 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3126#true} {3126#true} #63#return; {3126#true} is VALID [2018-11-23 12:23:31,003 INFO L256 TraceCheckUtils]: 4: Hoare triple {3126#true} call #t~ret5 := main(); {3126#true} is VALID [2018-11-23 12:23:31,003 INFO L273 TraceCheckUtils]: 5: Hoare triple {3126#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3126#true} is VALID [2018-11-23 12:23:31,004 INFO L273 TraceCheckUtils]: 6: Hoare triple {3126#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,005 INFO L273 TraceCheckUtils]: 7: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,005 INFO L273 TraceCheckUtils]: 8: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,006 INFO L273 TraceCheckUtils]: 9: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,006 INFO L273 TraceCheckUtils]: 10: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,007 INFO L273 TraceCheckUtils]: 11: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,007 INFO L273 TraceCheckUtils]: 12: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,007 INFO L273 TraceCheckUtils]: 13: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,008 INFO L273 TraceCheckUtils]: 14: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,009 INFO L273 TraceCheckUtils]: 15: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,024 INFO L273 TraceCheckUtils]: 16: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,025 INFO L273 TraceCheckUtils]: 17: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,025 INFO L273 TraceCheckUtils]: 18: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3131#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:31,026 INFO L273 TraceCheckUtils]: 19: Hoare triple {3131#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {3131#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:31,027 INFO L273 TraceCheckUtils]: 20: Hoare triple {3131#(<= ~SIZE~0 (+ main_~i~0 4))} assume !(~i~0 - 1 >= 0); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,027 INFO L273 TraceCheckUtils]: 21: Hoare triple {3132#(<= ~SIZE~0 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,028 INFO L273 TraceCheckUtils]: 22: Hoare triple {3132#(<= ~SIZE~0 4)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,028 INFO L273 TraceCheckUtils]: 23: Hoare triple {3132#(<= ~SIZE~0 4)} assume !(~i~0 >= 0); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,029 INFO L273 TraceCheckUtils]: 24: Hoare triple {3132#(<= ~SIZE~0 4)} ~i~0 := 0; {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:31,029 INFO L273 TraceCheckUtils]: 25: Hoare triple {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:31,030 INFO L256 TraceCheckUtils]: 26: Hoare triple {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3126#true} is VALID [2018-11-23 12:23:31,030 INFO L273 TraceCheckUtils]: 27: Hoare triple {3126#true} ~cond := #in~cond; {3126#true} is VALID [2018-11-23 12:23:31,030 INFO L273 TraceCheckUtils]: 28: Hoare triple {3126#true} assume !(0 == ~cond); {3126#true} is VALID [2018-11-23 12:23:31,030 INFO L273 TraceCheckUtils]: 29: Hoare triple {3126#true} assume true; {3126#true} is VALID [2018-11-23 12:23:31,031 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3126#true} {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} #67#return; {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:31,032 INFO L273 TraceCheckUtils]: 31: Hoare triple {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} havoc #t~mem4; {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} is VALID [2018-11-23 12:23:31,033 INFO L273 TraceCheckUtils]: 32: Hoare triple {3133#(and (<= ~SIZE~0 4) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,033 INFO L273 TraceCheckUtils]: 33: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,033 INFO L256 TraceCheckUtils]: 34: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3126#true} is VALID [2018-11-23 12:23:31,034 INFO L273 TraceCheckUtils]: 35: Hoare triple {3126#true} ~cond := #in~cond; {3126#true} is VALID [2018-11-23 12:23:31,034 INFO L273 TraceCheckUtils]: 36: Hoare triple {3126#true} assume !(0 == ~cond); {3126#true} is VALID [2018-11-23 12:23:31,034 INFO L273 TraceCheckUtils]: 37: Hoare triple {3126#true} assume true; {3126#true} is VALID [2018-11-23 12:23:31,035 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3126#true} {3130#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,035 INFO L273 TraceCheckUtils]: 39: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,036 INFO L273 TraceCheckUtils]: 40: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,037 INFO L273 TraceCheckUtils]: 41: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,037 INFO L256 TraceCheckUtils]: 42: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3126#true} is VALID [2018-11-23 12:23:31,037 INFO L273 TraceCheckUtils]: 43: Hoare triple {3126#true} ~cond := #in~cond; {3126#true} is VALID [2018-11-23 12:23:31,037 INFO L273 TraceCheckUtils]: 44: Hoare triple {3126#true} assume !(0 == ~cond); {3126#true} is VALID [2018-11-23 12:23:31,037 INFO L273 TraceCheckUtils]: 45: Hoare triple {3126#true} assume true; {3126#true} is VALID [2018-11-23 12:23:31,038 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3126#true} {3129#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,039 INFO L273 TraceCheckUtils]: 47: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,040 INFO L273 TraceCheckUtils]: 48: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,042 INFO L273 TraceCheckUtils]: 49: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,043 INFO L256 TraceCheckUtils]: 50: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3126#true} is VALID [2018-11-23 12:23:31,043 INFO L273 TraceCheckUtils]: 51: Hoare triple {3126#true} ~cond := #in~cond; {3126#true} is VALID [2018-11-23 12:23:31,043 INFO L273 TraceCheckUtils]: 52: Hoare triple {3126#true} assume !(0 == ~cond); {3126#true} is VALID [2018-11-23 12:23:31,043 INFO L273 TraceCheckUtils]: 53: Hoare triple {3126#true} assume true; {3126#true} is VALID [2018-11-23 12:23:31,044 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {3126#true} {3128#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,045 INFO L273 TraceCheckUtils]: 55: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,045 INFO L273 TraceCheckUtils]: 56: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3134#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:31,045 INFO L273 TraceCheckUtils]: 57: Hoare triple {3134#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3127#false} is VALID [2018-11-23 12:23:31,046 INFO L256 TraceCheckUtils]: 58: Hoare triple {3127#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3127#false} is VALID [2018-11-23 12:23:31,046 INFO L273 TraceCheckUtils]: 59: Hoare triple {3127#false} ~cond := #in~cond; {3127#false} is VALID [2018-11-23 12:23:31,046 INFO L273 TraceCheckUtils]: 60: Hoare triple {3127#false} assume 0 == ~cond; {3127#false} is VALID [2018-11-23 12:23:31,046 INFO L273 TraceCheckUtils]: 61: Hoare triple {3127#false} assume !false; {3127#false} is VALID [2018-11-23 12:23:31,050 INFO L134 CoverageAnalysis]: Checked inductivity of 92 backedges. 27 proven. 41 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:23:31,050 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:31,050 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:31,059 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:23:31,089 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:23:31,089 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:31,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:31,105 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:31,286 INFO L256 TraceCheckUtils]: 0: Hoare triple {3126#true} call ULTIMATE.init(); {3126#true} is VALID [2018-11-23 12:23:31,286 INFO L273 TraceCheckUtils]: 1: Hoare triple {3126#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3126#true} is VALID [2018-11-23 12:23:31,286 INFO L273 TraceCheckUtils]: 2: Hoare triple {3126#true} assume true; {3126#true} is VALID [2018-11-23 12:23:31,287 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3126#true} {3126#true} #63#return; {3126#true} is VALID [2018-11-23 12:23:31,287 INFO L256 TraceCheckUtils]: 4: Hoare triple {3126#true} call #t~ret5 := main(); {3126#true} is VALID [2018-11-23 12:23:31,287 INFO L273 TraceCheckUtils]: 5: Hoare triple {3126#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3126#true} is VALID [2018-11-23 12:23:31,288 INFO L273 TraceCheckUtils]: 6: Hoare triple {3126#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,288 INFO L273 TraceCheckUtils]: 7: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,289 INFO L273 TraceCheckUtils]: 8: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,289 INFO L273 TraceCheckUtils]: 9: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3128#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:31,290 INFO L273 TraceCheckUtils]: 10: Hoare triple {3128#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,290 INFO L273 TraceCheckUtils]: 11: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,290 INFO L273 TraceCheckUtils]: 12: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,291 INFO L273 TraceCheckUtils]: 13: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3129#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:31,292 INFO L273 TraceCheckUtils]: 14: Hoare triple {3129#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,292 INFO L273 TraceCheckUtils]: 15: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,293 INFO L273 TraceCheckUtils]: 16: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,293 INFO L273 TraceCheckUtils]: 17: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3130#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:31,294 INFO L273 TraceCheckUtils]: 18: Hoare triple {3130#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3131#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:31,295 INFO L273 TraceCheckUtils]: 19: Hoare triple {3131#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {3131#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:31,295 INFO L273 TraceCheckUtils]: 20: Hoare triple {3131#(<= ~SIZE~0 (+ main_~i~0 4))} assume !(~i~0 - 1 >= 0); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,296 INFO L273 TraceCheckUtils]: 21: Hoare triple {3132#(<= ~SIZE~0 4)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,296 INFO L273 TraceCheckUtils]: 22: Hoare triple {3132#(<= ~SIZE~0 4)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,297 INFO L273 TraceCheckUtils]: 23: Hoare triple {3132#(<= ~SIZE~0 4)} assume !(~i~0 >= 0); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,297 INFO L273 TraceCheckUtils]: 24: Hoare triple {3132#(<= ~SIZE~0 4)} ~i~0 := 0; {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,298 INFO L273 TraceCheckUtils]: 25: Hoare triple {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,299 INFO L256 TraceCheckUtils]: 26: Hoare triple {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,300 INFO L273 TraceCheckUtils]: 27: Hoare triple {3132#(<= ~SIZE~0 4)} ~cond := #in~cond; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,300 INFO L273 TraceCheckUtils]: 28: Hoare triple {3132#(<= ~SIZE~0 4)} assume !(0 == ~cond); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,318 INFO L273 TraceCheckUtils]: 29: Hoare triple {3132#(<= ~SIZE~0 4)} assume true; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,333 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {3132#(<= ~SIZE~0 4)} {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} #67#return; {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,342 INFO L273 TraceCheckUtils]: 31: Hoare triple {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,356 INFO L273 TraceCheckUtils]: 32: Hoare triple {3210#(and (<= 0 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,372 INFO L273 TraceCheckUtils]: 33: Hoare triple {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,387 INFO L256 TraceCheckUtils]: 34: Hoare triple {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,396 INFO L273 TraceCheckUtils]: 35: Hoare triple {3132#(<= ~SIZE~0 4)} ~cond := #in~cond; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,409 INFO L273 TraceCheckUtils]: 36: Hoare triple {3132#(<= ~SIZE~0 4)} assume !(0 == ~cond); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,418 INFO L273 TraceCheckUtils]: 37: Hoare triple {3132#(<= ~SIZE~0 4)} assume true; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,427 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3132#(<= ~SIZE~0 4)} {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} #67#return; {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,442 INFO L273 TraceCheckUtils]: 39: Hoare triple {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,451 INFO L273 TraceCheckUtils]: 40: Hoare triple {3235#(and (<= 1 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,463 INFO L273 TraceCheckUtils]: 41: Hoare triple {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,477 INFO L256 TraceCheckUtils]: 42: Hoare triple {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,489 INFO L273 TraceCheckUtils]: 43: Hoare triple {3132#(<= ~SIZE~0 4)} ~cond := #in~cond; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,502 INFO L273 TraceCheckUtils]: 44: Hoare triple {3132#(<= ~SIZE~0 4)} assume !(0 == ~cond); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,515 INFO L273 TraceCheckUtils]: 45: Hoare triple {3132#(<= ~SIZE~0 4)} assume true; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,528 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3132#(<= ~SIZE~0 4)} {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} #67#return; {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,540 INFO L273 TraceCheckUtils]: 47: Hoare triple {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} havoc #t~mem4; {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,553 INFO L273 TraceCheckUtils]: 48: Hoare triple {3260#(and (<= 2 main_~i~0) (<= ~SIZE~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:31,569 INFO L273 TraceCheckUtils]: 49: Hoare triple {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:31,578 INFO L256 TraceCheckUtils]: 50: Hoare triple {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,591 INFO L273 TraceCheckUtils]: 51: Hoare triple {3132#(<= ~SIZE~0 4)} ~cond := #in~cond; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,604 INFO L273 TraceCheckUtils]: 52: Hoare triple {3132#(<= ~SIZE~0 4)} assume !(0 == ~cond); {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,616 INFO L273 TraceCheckUtils]: 53: Hoare triple {3132#(<= ~SIZE~0 4)} assume true; {3132#(<= ~SIZE~0 4)} is VALID [2018-11-23 12:23:31,633 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {3132#(<= ~SIZE~0 4)} {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} #67#return; {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:31,642 INFO L273 TraceCheckUtils]: 55: Hoare triple {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} havoc #t~mem4; {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:31,643 INFO L273 TraceCheckUtils]: 56: Hoare triple {3285#(and (<= ~SIZE~0 4) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3310#(and (<= 4 main_~i~0) (<= ~SIZE~0 4))} is VALID [2018-11-23 12:23:31,644 INFO L273 TraceCheckUtils]: 57: Hoare triple {3310#(and (<= 4 main_~i~0) (<= ~SIZE~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3127#false} is VALID [2018-11-23 12:23:31,644 INFO L256 TraceCheckUtils]: 58: Hoare triple {3127#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3127#false} is VALID [2018-11-23 12:23:31,644 INFO L273 TraceCheckUtils]: 59: Hoare triple {3127#false} ~cond := #in~cond; {3127#false} is VALID [2018-11-23 12:23:31,644 INFO L273 TraceCheckUtils]: 60: Hoare triple {3127#false} assume 0 == ~cond; {3127#false} is VALID [2018-11-23 12:23:31,644 INFO L273 TraceCheckUtils]: 61: Hoare triple {3127#false} assume !false; {3127#false} is VALID [2018-11-23 12:23:31,648 INFO L134 CoverageAnalysis]: Checked inductivity of 92 backedges. 40 proven. 28 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:23:31,667 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:31,668 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 12] total 14 [2018-11-23 12:23:31,668 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 62 [2018-11-23 12:23:31,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:31,668 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:23:31,741 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:31,742 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:23:31,742 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:23:31,742 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:23:31,743 INFO L87 Difference]: Start difference. First operand 65 states and 67 transitions. Second operand 14 states. [2018-11-23 12:23:33,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:33,089 INFO L93 Difference]: Finished difference Result 124 states and 129 transitions. [2018-11-23 12:23:33,089 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:23:33,089 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 62 [2018-11-23 12:23:33,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:33,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:23:33,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2018-11-23 12:23:33,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:23:33,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2018-11-23 12:23:33,094 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2018-11-23 12:23:33,214 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:33,216 INFO L225 Difference]: With dead ends: 124 [2018-11-23 12:23:33,216 INFO L226 Difference]: Without dead ends: 71 [2018-11-23 12:23:33,217 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=78, Invalid=132, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:23:33,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-23 12:23:33,508 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 69. [2018-11-23 12:23:33,508 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:33,508 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 69 states. [2018-11-23 12:23:33,509 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 69 states. [2018-11-23 12:23:33,509 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 69 states. [2018-11-23 12:23:33,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:33,511 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2018-11-23 12:23:33,512 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2018-11-23 12:23:33,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:33,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:33,512 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 71 states. [2018-11-23 12:23:33,512 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 71 states. [2018-11-23 12:23:33,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:33,514 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2018-11-23 12:23:33,515 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 73 transitions. [2018-11-23 12:23:33,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:33,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:33,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:33,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:33,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 12:23:33,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 71 transitions. [2018-11-23 12:23:33,517 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 71 transitions. Word has length 62 [2018-11-23 12:23:33,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:33,518 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 71 transitions. [2018-11-23 12:23:33,518 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:23:33,518 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 71 transitions. [2018-11-23 12:23:33,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2018-11-23 12:23:33,519 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:33,519 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:33,519 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:33,519 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:33,519 INFO L82 PathProgramCache]: Analyzing trace with hash 827230584, now seen corresponding path program 7 times [2018-11-23 12:23:33,520 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:33,520 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:33,520 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:33,521 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:23:33,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:33,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:34,955 INFO L256 TraceCheckUtils]: 0: Hoare triple {3730#true} call ULTIMATE.init(); {3730#true} is VALID [2018-11-23 12:23:34,955 INFO L273 TraceCheckUtils]: 1: Hoare triple {3730#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3730#true} is VALID [2018-11-23 12:23:34,955 INFO L273 TraceCheckUtils]: 2: Hoare triple {3730#true} assume true; {3730#true} is VALID [2018-11-23 12:23:34,955 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3730#true} {3730#true} #63#return; {3730#true} is VALID [2018-11-23 12:23:34,955 INFO L256 TraceCheckUtils]: 4: Hoare triple {3730#true} call #t~ret5 := main(); {3730#true} is VALID [2018-11-23 12:23:34,956 INFO L273 TraceCheckUtils]: 5: Hoare triple {3730#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3730#true} is VALID [2018-11-23 12:23:34,956 INFO L273 TraceCheckUtils]: 6: Hoare triple {3730#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {3732#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:34,956 INFO L273 TraceCheckUtils]: 7: Hoare triple {3732#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {3732#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:34,957 INFO L273 TraceCheckUtils]: 8: Hoare triple {3732#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3732#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:34,957 INFO L273 TraceCheckUtils]: 9: Hoare triple {3732#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3733#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,958 INFO L273 TraceCheckUtils]: 10: Hoare triple {3733#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,959 INFO L273 TraceCheckUtils]: 11: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,959 INFO L273 TraceCheckUtils]: 12: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,961 INFO L273 TraceCheckUtils]: 13: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,962 INFO L273 TraceCheckUtils]: 14: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,963 INFO L273 TraceCheckUtils]: 15: Hoare triple {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,964 INFO L273 TraceCheckUtils]: 16: Hoare triple {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,966 INFO L273 TraceCheckUtils]: 17: Hoare triple {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,967 INFO L273 TraceCheckUtils]: 18: Hoare triple {3735#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3736#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,968 INFO L273 TraceCheckUtils]: 19: Hoare triple {3736#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3736#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,970 INFO L273 TraceCheckUtils]: 20: Hoare triple {3736#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3737#(and (or (and (<= 1 main_~i~0) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,971 INFO L273 TraceCheckUtils]: 21: Hoare triple {3737#(and (or (and (<= 1 main_~i~0) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3737#(and (or (and (<= 1 main_~i~0) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,973 INFO L273 TraceCheckUtils]: 22: Hoare triple {3737#(and (or (and (<= 1 main_~i~0) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3738#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,973 INFO L273 TraceCheckUtils]: 23: Hoare triple {3738#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3738#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,974 INFO L273 TraceCheckUtils]: 24: Hoare triple {3738#(and (<= 0 main_~i~0) (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {3739#(and (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,975 INFO L273 TraceCheckUtils]: 25: Hoare triple {3739#(and (<= 4 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3740#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,976 INFO L273 TraceCheckUtils]: 26: Hoare triple {3740#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3740#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,977 INFO L273 TraceCheckUtils]: 27: Hoare triple {3740#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {3740#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,978 INFO L273 TraceCheckUtils]: 28: Hoare triple {3740#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,978 INFO L273 TraceCheckUtils]: 29: Hoare triple {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,979 INFO L256 TraceCheckUtils]: 30: Hoare triple {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3730#true} is VALID [2018-11-23 12:23:34,979 INFO L273 TraceCheckUtils]: 31: Hoare triple {3730#true} ~cond := #in~cond; {3742#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:23:34,980 INFO L273 TraceCheckUtils]: 32: Hoare triple {3742#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {3743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:34,980 INFO L273 TraceCheckUtils]: 33: Hoare triple {3743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:34,982 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3743#(not (= |__VERIFIER_assert_#in~cond| 0))} {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,982 INFO L273 TraceCheckUtils]: 35: Hoare triple {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:34,983 INFO L273 TraceCheckUtils]: 36: Hoare triple {3741#(and (<= 4 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,001 INFO L273 TraceCheckUtils]: 37: Hoare triple {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,001 INFO L256 TraceCheckUtils]: 38: Hoare triple {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3730#true} is VALID [2018-11-23 12:23:35,001 INFO L273 TraceCheckUtils]: 39: Hoare triple {3730#true} ~cond := #in~cond; {3730#true} is VALID [2018-11-23 12:23:35,002 INFO L273 TraceCheckUtils]: 40: Hoare triple {3730#true} assume !(0 == ~cond); {3730#true} is VALID [2018-11-23 12:23:35,002 INFO L273 TraceCheckUtils]: 41: Hoare triple {3730#true} assume true; {3730#true} is VALID [2018-11-23 12:23:35,007 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3730#true} {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #67#return; {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,008 INFO L273 TraceCheckUtils]: 43: Hoare triple {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,009 INFO L273 TraceCheckUtils]: 44: Hoare triple {3744#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,010 INFO L273 TraceCheckUtils]: 45: Hoare triple {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,010 INFO L256 TraceCheckUtils]: 46: Hoare triple {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3730#true} is VALID [2018-11-23 12:23:35,010 INFO L273 TraceCheckUtils]: 47: Hoare triple {3730#true} ~cond := #in~cond; {3730#true} is VALID [2018-11-23 12:23:35,010 INFO L273 TraceCheckUtils]: 48: Hoare triple {3730#true} assume !(0 == ~cond); {3730#true} is VALID [2018-11-23 12:23:35,010 INFO L273 TraceCheckUtils]: 49: Hoare triple {3730#true} assume true; {3730#true} is VALID [2018-11-23 12:23:35,011 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3730#true} {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #67#return; {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,012 INFO L273 TraceCheckUtils]: 51: Hoare triple {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,013 INFO L273 TraceCheckUtils]: 52: Hoare triple {3745#(and (<= (+ main_~i~0 2) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,014 INFO L273 TraceCheckUtils]: 53: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,014 INFO L256 TraceCheckUtils]: 54: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3730#true} is VALID [2018-11-23 12:23:35,015 INFO L273 TraceCheckUtils]: 55: Hoare triple {3730#true} ~cond := #in~cond; {3730#true} is VALID [2018-11-23 12:23:35,015 INFO L273 TraceCheckUtils]: 56: Hoare triple {3730#true} assume !(0 == ~cond); {3730#true} is VALID [2018-11-23 12:23:35,015 INFO L273 TraceCheckUtils]: 57: Hoare triple {3730#true} assume true; {3730#true} is VALID [2018-11-23 12:23:35,016 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3730#true} {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #67#return; {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,017 INFO L273 TraceCheckUtils]: 59: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,019 INFO L273 TraceCheckUtils]: 60: Hoare triple {3734#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3746#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:35,020 INFO L273 TraceCheckUtils]: 61: Hoare triple {3746#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3747#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:23:35,021 INFO L256 TraceCheckUtils]: 62: Hoare triple {3747#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:23:35,022 INFO L273 TraceCheckUtils]: 63: Hoare triple {3743#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3748#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:23:35,022 INFO L273 TraceCheckUtils]: 64: Hoare triple {3748#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3731#false} is VALID [2018-11-23 12:23:35,023 INFO L273 TraceCheckUtils]: 65: Hoare triple {3731#false} assume !false; {3731#false} is VALID [2018-11-23 12:23:35,046 INFO L134 CoverageAnalysis]: Checked inductivity of 109 backedges. 24 proven. 70 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:35,046 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:35,046 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:35,059 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:35,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:35,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:35,111 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:35,154 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:23:35,161 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:23:35,168 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,172 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,177 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,178 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:23:35,250 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 28 [2018-11-23 12:23:35,271 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,272 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,272 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 58 [2018-11-23 12:23:35,276 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,288 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,299 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,300 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:36, output treesize:32 [2018-11-23 12:23:35,373 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 37 [2018-11-23 12:23:35,387 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,388 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,389 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,391 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,393 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,394 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,396 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 128 [2018-11-23 12:23:35,405 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,427 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,440 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,441 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:23:35,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 51 [2018-11-23 12:23:35,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,606 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,607 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,608 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,610 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,611 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,613 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,614 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,616 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,617 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,619 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,622 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 245 [2018-11-23 12:23:35,627 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,672 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,689 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,689 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:63, output treesize:59 [2018-11-23 12:23:35,791 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 70 [2018-11-23 12:23:35,811 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,814 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,816 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,819 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,822 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,824 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,825 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,828 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,830 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,832 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,872 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:35,875 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 291 [2018-11-23 12:23:35,883 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,926 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,939 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:35,940 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:74, output treesize:57 [2018-11-23 12:23:35,947 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:35,947 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_24| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (+ (select .cse0 .cse2) 1) main_~i~0) (= |#memory_int| (store |v_#memory_int_24| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:23:35,947 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:23:36,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 74 treesize of output 63 [2018-11-23 12:23:36,663 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,665 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,666 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,667 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,671 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,681 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,684 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,685 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,686 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,689 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,691 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 394 [2018-11-23 12:23:36,694 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:36,756 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:36,776 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:36,776 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:80, output treesize:76 [2018-11-23 12:23:36,868 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 82 [2018-11-23 12:23:36,884 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,886 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,887 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,889 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,890 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,891 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,893 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,894 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,895 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,897 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,898 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,900 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,902 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,904 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,905 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,907 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,908 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,910 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,912 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,913 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,914 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,916 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,917 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:36,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 25 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 454 [2018-11-23 12:23:36,925 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,000 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,018 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,019 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:91, output treesize:74 [2018-11-23 12:23:37,026 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:37,027 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|]. (let ((.cse2 (* 4 main_~i~0))) (let ((.cse1 (+ .cse2 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_26| |main_~#a~0.base|))) (and (= (store |v_#memory_int_26| |main_~#a~0.base| (store .cse0 .cse1 main_~i~0)) |#memory_int|) (= (select .cse0 (+ .cse2 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (<= 1 main_~i~0) (= (+ (select .cse0 .cse1) 1) main_~i~0) (= (select .cse0 (+ .cse2 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= (select .cse0 (+ .cse2 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= main_~i~0 (+ (select .cse0 (+ .cse2 |main_~#a~0.offset| (- 4))) 2)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:23:37,027 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (<= 1 main_~i~0) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:23:37,588 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 80 [2018-11-23 12:23:37,649 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,651 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,657 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,660 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,664 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,666 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,673 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:37,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,677 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,682 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,684 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,687 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,690 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,692 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,694 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,696 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,698 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,700 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,702 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,704 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:37,705 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 25 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 509 [2018-11-23 12:23:37,712 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,801 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:37,835 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:23:37,835 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:97, output treesize:79 [2018-11-23 12:23:37,889 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:37,889 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, main_~i~0, v_main_~i~0_47]. (let ((.cse0 (select |v_#memory_int_27| |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_47))) (and (<= v_main_~i~0_47 (+ main_~i~0 1)) (= |#memory_int| (store |v_#memory_int_27| |main_~#a~0.base| (store .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0))) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 3) (select .cse0 (+ .cse1 |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= v_main_~i~0_47 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (+ v_main_~i~0_47 2) (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ v_main_~i~0_47 1)) (= |main_~#a~0.offset| 0))) [2018-11-23 12:23:37,889 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~i~0_47, main_~i~0]. (let ((.cse1 (* 4 v_main_~i~0_47)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= (+ v_main_~i~0_47 3) (select .cse0 (+ .cse1 |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (< main_~i~0 1) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= main_~i~0 (select .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:23:42,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 55 [2018-11-23 12:23:42,471 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,473 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,475 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,477 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,479 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,481 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,483 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,485 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,487 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,511 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,512 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,518 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:23:42,520 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,522 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,523 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,526 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,530 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,536 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,538 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,540 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,542 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:23:42,545 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 20 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 201 [2018-11-23 12:23:42,552 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:23:42,610 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:42,783 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:23:42,783 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:81, output treesize:7 [2018-11-23 12:23:42,798 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:23:42,798 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_47, v_prenex_8]. (let ((.cse1 (* 4 v_main_~i~0_47)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= v_main_~i~0_47 (select .cse0 .cse1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select .cse0 (+ .cse1 12))) (= (select .cse0 (* 4 v_prenex_8)) v_prenex_8) (= (+ v_main_~i~0_47 2) (select .cse0 (+ .cse1 8))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select .cse0 (+ .cse1 4))) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= main_~i~0 4))) [2018-11-23 12:23:42,799 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 4 |main_#t~mem4|) (= main_~i~0 4)) [2018-11-23 12:23:43,188 INFO L256 TraceCheckUtils]: 0: Hoare triple {3730#true} call ULTIMATE.init(); {3730#true} is VALID [2018-11-23 12:23:43,189 INFO L273 TraceCheckUtils]: 1: Hoare triple {3730#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3730#true} is VALID [2018-11-23 12:23:43,189 INFO L273 TraceCheckUtils]: 2: Hoare triple {3730#true} assume true; {3730#true} is VALID [2018-11-23 12:23:43,189 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3730#true} {3730#true} #63#return; {3730#true} is VALID [2018-11-23 12:23:43,189 INFO L256 TraceCheckUtils]: 4: Hoare triple {3730#true} call #t~ret5 := main(); {3730#true} is VALID [2018-11-23 12:23:43,190 INFO L273 TraceCheckUtils]: 5: Hoare triple {3730#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3730#true} is VALID [2018-11-23 12:23:43,190 INFO L273 TraceCheckUtils]: 6: Hoare triple {3730#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {3732#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:43,191 INFO L273 TraceCheckUtils]: 7: Hoare triple {3732#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {3732#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:43,191 INFO L273 TraceCheckUtils]: 8: Hoare triple {3732#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3732#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:23:43,192 INFO L273 TraceCheckUtils]: 9: Hoare triple {3732#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3733#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,193 INFO L273 TraceCheckUtils]: 10: Hoare triple {3733#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3782#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,193 INFO L273 TraceCheckUtils]: 11: Hoare triple {3782#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3782#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,195 INFO L273 TraceCheckUtils]: 12: Hoare triple {3782#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3789#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,196 INFO L273 TraceCheckUtils]: 13: Hoare triple {3789#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3793#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {3793#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3797#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,200 INFO L273 TraceCheckUtils]: 15: Hoare triple {3797#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3797#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,201 INFO L273 TraceCheckUtils]: 16: Hoare triple {3797#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3804#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,202 INFO L273 TraceCheckUtils]: 17: Hoare triple {3804#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3808#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,205 INFO L273 TraceCheckUtils]: 18: Hoare triple {3808#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3812#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,206 INFO L273 TraceCheckUtils]: 19: Hoare triple {3812#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3812#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,208 INFO L273 TraceCheckUtils]: 20: Hoare triple {3812#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {3819#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 1 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,209 INFO L273 TraceCheckUtils]: 21: Hoare triple {3819#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 1 main_~i~0) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3823#(and (<= 1 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,211 INFO L273 TraceCheckUtils]: 22: Hoare triple {3823#(and (<= 1 main_~i~0) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3827#(and (exists ((v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| (- 4))) 2)) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,213 INFO L273 TraceCheckUtils]: 23: Hoare triple {3827#(and (exists ((v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| (- 4))) 2)) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {3827#(and (exists ((v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| (- 4))) 2)) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,215 INFO L273 TraceCheckUtils]: 24: Hoare triple {3827#(and (exists ((v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| (- 4))) 2)) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {3834#(and (exists ((v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| (- 4))) 2)) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (< main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,218 INFO L273 TraceCheckUtils]: 25: Hoare triple {3834#(and (exists ((v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (= v_main_~i~0_47 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| (- 4))) 2)) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (< main_~i~0 1) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3838#(and (exists ((main_~i~0 Int) (v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,220 INFO L273 TraceCheckUtils]: 26: Hoare triple {3838#(and (exists ((main_~i~0 Int) (v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {3838#(and (exists ((main_~i~0 Int) (v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,221 INFO L273 TraceCheckUtils]: 27: Hoare triple {3838#(and (exists ((main_~i~0 Int) (v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {3838#(and (exists ((main_~i~0 Int) (v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,222 INFO L273 TraceCheckUtils]: 28: Hoare triple {3838#(and (exists ((main_~i~0 Int) (v_main_~i~0_47 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= v_main_~i~0_47 (+ main_~i~0 1)) (<= 1 v_main_~i~0_47) (< main_~i~0 1) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,224 INFO L273 TraceCheckUtils]: 29: Hoare triple {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,227 INFO L256 TraceCheckUtils]: 30: Hoare triple {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,227 INFO L273 TraceCheckUtils]: 31: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} ~cond := #in~cond; {3859#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:23:43,228 INFO L273 TraceCheckUtils]: 32: Hoare triple {3859#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {3863#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8))))))} is VALID [2018-11-23 12:23:43,229 INFO L273 TraceCheckUtils]: 33: Hoare triple {3863#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8))))))} assume true; {3863#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8))))))} is VALID [2018-11-23 12:23:43,229 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3863#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8))))))} {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,231 INFO L273 TraceCheckUtils]: 35: Hoare triple {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,232 INFO L273 TraceCheckUtils]: 36: Hoare triple {3848#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,233 INFO L273 TraceCheckUtils]: 37: Hoare triple {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,236 INFO L256 TraceCheckUtils]: 38: Hoare triple {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,236 INFO L273 TraceCheckUtils]: 39: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} ~cond := #in~cond; {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,237 INFO L273 TraceCheckUtils]: 40: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} assume !(0 == ~cond); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,237 INFO L273 TraceCheckUtils]: 41: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} assume true; {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,238 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #67#return; {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,239 INFO L273 TraceCheckUtils]: 43: Hoare triple {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,239 INFO L273 TraceCheckUtils]: 44: Hoare triple {3876#(and (= main_~i~0 1) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,240 INFO L273 TraceCheckUtils]: 45: Hoare triple {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,243 INFO L256 TraceCheckUtils]: 46: Hoare triple {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,244 INFO L273 TraceCheckUtils]: 47: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} ~cond := #in~cond; {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,244 INFO L273 TraceCheckUtils]: 48: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} assume !(0 == ~cond); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,245 INFO L273 TraceCheckUtils]: 49: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} assume true; {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,246 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #67#return; {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,247 INFO L273 TraceCheckUtils]: 51: Hoare triple {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,249 INFO L273 TraceCheckUtils]: 52: Hoare triple {3901#(and (= main_~i~0 2) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,250 INFO L273 TraceCheckUtils]: 53: Hoare triple {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,252 INFO L256 TraceCheckUtils]: 54: Hoare triple {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,253 INFO L273 TraceCheckUtils]: 55: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} ~cond := #in~cond; {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,253 INFO L273 TraceCheckUtils]: 56: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} assume !(0 == ~cond); {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,253 INFO L273 TraceCheckUtils]: 57: Hoare triple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} assume true; {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} is VALID [2018-11-23 12:23:43,266 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3855#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int) (v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 12))) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_prenex_8)) v_prenex_8) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= v_main_~i~0_47 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (* 4 v_main_~i~0_47))) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ (* 4 v_main_~i~0_47) 8)))))} {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #67#return; {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,267 INFO L273 TraceCheckUtils]: 59: Hoare triple {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,268 INFO L273 TraceCheckUtils]: 60: Hoare triple {3926#(and (= main_~i~0 3) (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3951#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:23:43,269 INFO L273 TraceCheckUtils]: 61: Hoare triple {3951#(and (exists ((v_main_~i~0_47 Int) (v_prenex_8 Int)) (and (= (+ v_main_~i~0_47 3) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 12))) (<= 1 v_main_~i~0_47) (= (+ v_main_~i~0_47 2) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 8))) (= v_main_~i~0_47 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset|))) (= v_prenex_8 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_8) |main_~#a~0.offset|))) (< v_prenex_8 1) (<= v_main_~i~0_47 (+ v_prenex_8 1)) (= (+ v_main_~i~0_47 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_47) |main_~#a~0.offset| 4))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3955#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} is VALID [2018-11-23 12:23:43,270 INFO L256 TraceCheckUtils]: 62: Hoare triple {3955#(and (<= 4 |main_#t~mem4|) (= main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {3959#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:23:43,271 INFO L273 TraceCheckUtils]: 63: Hoare triple {3959#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3963#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:23:43,271 INFO L273 TraceCheckUtils]: 64: Hoare triple {3963#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3731#false} is VALID [2018-11-23 12:23:43,271 INFO L273 TraceCheckUtils]: 65: Hoare triple {3731#false} assume !false; {3731#false} is VALID [2018-11-23 12:23:43,311 INFO L134 CoverageAnalysis]: Checked inductivity of 109 backedges. 28 proven. 66 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:23:43,330 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:43,330 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 27] total 42 [2018-11-23 12:23:43,331 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 66 [2018-11-23 12:23:43,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:43,331 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states. [2018-11-23 12:23:43,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:43,515 INFO L459 AbstractCegarLoop]: Interpolant automaton has 42 states [2018-11-23 12:23:43,515 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2018-11-23 12:23:43,516 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=275, Invalid=1447, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:23:43,516 INFO L87 Difference]: Start difference. First operand 69 states and 71 transitions. Second operand 42 states. [2018-11-23 12:23:52,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:52,397 INFO L93 Difference]: Finished difference Result 148 states and 156 transitions. [2018-11-23 12:23:52,397 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 62 states. [2018-11-23 12:23:52,397 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 66 [2018-11-23 12:23:52,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:52,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:23:52,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 132 transitions. [2018-11-23 12:23:52,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:23:52,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 132 transitions. [2018-11-23 12:23:52,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 62 states and 132 transitions. [2018-11-23 12:23:52,711 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:52,714 INFO L225 Difference]: With dead ends: 148 [2018-11-23 12:23:52,714 INFO L226 Difference]: Without dead ends: 146 [2018-11-23 12:23:52,716 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 37 SyntacticMatches, 16 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2412 ImplicationChecksByTransitivity, 6.6s TimeCoverageRelationStatistics Valid=961, Invalid=6179, Unknown=0, NotChecked=0, Total=7140 [2018-11-23 12:23:52,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2018-11-23 12:23:53,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 77. [2018-11-23 12:23:53,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:23:53,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand 77 states. [2018-11-23 12:23:53,740 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand 77 states. [2018-11-23 12:23:53,740 INFO L87 Difference]: Start difference. First operand 146 states. Second operand 77 states. [2018-11-23 12:23:53,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:53,744 INFO L93 Difference]: Finished difference Result 146 states and 153 transitions. [2018-11-23 12:23:53,744 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 153 transitions. [2018-11-23 12:23:53,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:53,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:53,745 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 146 states. [2018-11-23 12:23:53,745 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 146 states. [2018-11-23 12:23:53,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:53,748 INFO L93 Difference]: Finished difference Result 146 states and 153 transitions. [2018-11-23 12:23:53,749 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 153 transitions. [2018-11-23 12:23:53,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:23:53,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:23:53,749 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:23:53,750 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:23:53,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 12:23:53,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 79 transitions. [2018-11-23 12:23:53,752 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 79 transitions. Word has length 66 [2018-11-23 12:23:53,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:23:53,752 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 79 transitions. [2018-11-23 12:23:53,752 INFO L481 AbstractCegarLoop]: Interpolant automaton has 42 states. [2018-11-23 12:23:53,752 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 79 transitions. [2018-11-23 12:23:53,753 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 12:23:53,753 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:23:53,753 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:23:53,753 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:23:53,753 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:23:53,754 INFO L82 PathProgramCache]: Analyzing trace with hash 1420793131, now seen corresponding path program 8 times [2018-11-23 12:23:53,754 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:23:53,754 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:23:53,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:53,755 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:23:53,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:23:53,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:54,100 INFO L256 TraceCheckUtils]: 0: Hoare triple {4650#true} call ULTIMATE.init(); {4650#true} is VALID [2018-11-23 12:23:54,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {4650#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4650#true} is VALID [2018-11-23 12:23:54,101 INFO L273 TraceCheckUtils]: 2: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,101 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4650#true} {4650#true} #63#return; {4650#true} is VALID [2018-11-23 12:23:54,101 INFO L256 TraceCheckUtils]: 4: Hoare triple {4650#true} call #t~ret5 := main(); {4650#true} is VALID [2018-11-23 12:23:54,101 INFO L273 TraceCheckUtils]: 5: Hoare triple {4650#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4650#true} is VALID [2018-11-23 12:23:54,102 INFO L273 TraceCheckUtils]: 6: Hoare triple {4650#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,102 INFO L273 TraceCheckUtils]: 7: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,102 INFO L273 TraceCheckUtils]: 8: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,103 INFO L273 TraceCheckUtils]: 9: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,103 INFO L273 TraceCheckUtils]: 10: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,103 INFO L273 TraceCheckUtils]: 11: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,104 INFO L273 TraceCheckUtils]: 12: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,104 INFO L273 TraceCheckUtils]: 13: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,105 INFO L273 TraceCheckUtils]: 14: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,105 INFO L273 TraceCheckUtils]: 15: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,106 INFO L273 TraceCheckUtils]: 16: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,106 INFO L273 TraceCheckUtils]: 17: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,107 INFO L273 TraceCheckUtils]: 18: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,107 INFO L273 TraceCheckUtils]: 19: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,108 INFO L273 TraceCheckUtils]: 20: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,108 INFO L273 TraceCheckUtils]: 21: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,109 INFO L273 TraceCheckUtils]: 22: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4656#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:54,129 INFO L273 TraceCheckUtils]: 23: Hoare triple {4656#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {4656#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:54,145 INFO L273 TraceCheckUtils]: 24: Hoare triple {4656#(<= ~SIZE~0 (+ main_~i~0 5))} assume !(~i~0 - 1 >= 0); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,154 INFO L273 TraceCheckUtils]: 25: Hoare triple {4657#(<= ~SIZE~0 5)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,169 INFO L273 TraceCheckUtils]: 26: Hoare triple {4657#(<= ~SIZE~0 5)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,177 INFO L273 TraceCheckUtils]: 27: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(~i~0 >= 0); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,193 INFO L273 TraceCheckUtils]: 28: Hoare triple {4657#(<= ~SIZE~0 5)} ~i~0 := 0; {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:54,202 INFO L273 TraceCheckUtils]: 29: Hoare triple {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:54,202 INFO L256 TraceCheckUtils]: 30: Hoare triple {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4650#true} is VALID [2018-11-23 12:23:54,202 INFO L273 TraceCheckUtils]: 31: Hoare triple {4650#true} ~cond := #in~cond; {4650#true} is VALID [2018-11-23 12:23:54,202 INFO L273 TraceCheckUtils]: 32: Hoare triple {4650#true} assume !(0 == ~cond); {4650#true} is VALID [2018-11-23 12:23:54,202 INFO L273 TraceCheckUtils]: 33: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,218 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4650#true} {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} #67#return; {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:54,222 INFO L273 TraceCheckUtils]: 35: Hoare triple {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} havoc #t~mem4; {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} is VALID [2018-11-23 12:23:54,222 INFO L273 TraceCheckUtils]: 36: Hoare triple {4658#(and (<= ~SIZE~0 5) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,224 INFO L273 TraceCheckUtils]: 37: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,224 INFO L256 TraceCheckUtils]: 38: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4650#true} is VALID [2018-11-23 12:23:54,224 INFO L273 TraceCheckUtils]: 39: Hoare triple {4650#true} ~cond := #in~cond; {4650#true} is VALID [2018-11-23 12:23:54,224 INFO L273 TraceCheckUtils]: 40: Hoare triple {4650#true} assume !(0 == ~cond); {4650#true} is VALID [2018-11-23 12:23:54,224 INFO L273 TraceCheckUtils]: 41: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,226 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4650#true} {4655#(<= ~SIZE~0 (+ main_~i~0 4))} #67#return; {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,226 INFO L273 TraceCheckUtils]: 43: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,228 INFO L273 TraceCheckUtils]: 44: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,228 INFO L273 TraceCheckUtils]: 45: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,228 INFO L256 TraceCheckUtils]: 46: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4650#true} is VALID [2018-11-23 12:23:54,228 INFO L273 TraceCheckUtils]: 47: Hoare triple {4650#true} ~cond := #in~cond; {4650#true} is VALID [2018-11-23 12:23:54,228 INFO L273 TraceCheckUtils]: 48: Hoare triple {4650#true} assume !(0 == ~cond); {4650#true} is VALID [2018-11-23 12:23:54,229 INFO L273 TraceCheckUtils]: 49: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,229 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {4650#true} {4654#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,229 INFO L273 TraceCheckUtils]: 51: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,230 INFO L273 TraceCheckUtils]: 52: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,230 INFO L273 TraceCheckUtils]: 53: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,230 INFO L256 TraceCheckUtils]: 54: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4650#true} is VALID [2018-11-23 12:23:54,230 INFO L273 TraceCheckUtils]: 55: Hoare triple {4650#true} ~cond := #in~cond; {4650#true} is VALID [2018-11-23 12:23:54,231 INFO L273 TraceCheckUtils]: 56: Hoare triple {4650#true} assume !(0 == ~cond); {4650#true} is VALID [2018-11-23 12:23:54,231 INFO L273 TraceCheckUtils]: 57: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,231 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {4650#true} {4653#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,232 INFO L273 TraceCheckUtils]: 59: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,233 INFO L273 TraceCheckUtils]: 60: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,233 INFO L273 TraceCheckUtils]: 61: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,233 INFO L256 TraceCheckUtils]: 62: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4650#true} is VALID [2018-11-23 12:23:54,234 INFO L273 TraceCheckUtils]: 63: Hoare triple {4650#true} ~cond := #in~cond; {4650#true} is VALID [2018-11-23 12:23:54,234 INFO L273 TraceCheckUtils]: 64: Hoare triple {4650#true} assume !(0 == ~cond); {4650#true} is VALID [2018-11-23 12:23:54,234 INFO L273 TraceCheckUtils]: 65: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,235 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {4650#true} {4652#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,235 INFO L273 TraceCheckUtils]: 67: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,236 INFO L273 TraceCheckUtils]: 68: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4659#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:23:54,237 INFO L273 TraceCheckUtils]: 69: Hoare triple {4659#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4651#false} is VALID [2018-11-23 12:23:54,237 INFO L256 TraceCheckUtils]: 70: Hoare triple {4651#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4651#false} is VALID [2018-11-23 12:23:54,237 INFO L273 TraceCheckUtils]: 71: Hoare triple {4651#false} ~cond := #in~cond; {4651#false} is VALID [2018-11-23 12:23:54,237 INFO L273 TraceCheckUtils]: 72: Hoare triple {4651#false} assume 0 == ~cond; {4651#false} is VALID [2018-11-23 12:23:54,237 INFO L273 TraceCheckUtils]: 73: Hoare triple {4651#false} assume !false; {4651#false} is VALID [2018-11-23 12:23:54,244 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 43 proven. 62 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:54,244 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:23:54,244 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:23:54,256 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:23:54,280 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:23:54,280 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:23:54,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:23:54,304 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:23:54,897 INFO L256 TraceCheckUtils]: 0: Hoare triple {4650#true} call ULTIMATE.init(); {4650#true} is VALID [2018-11-23 12:23:54,897 INFO L273 TraceCheckUtils]: 1: Hoare triple {4650#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4650#true} is VALID [2018-11-23 12:23:54,897 INFO L273 TraceCheckUtils]: 2: Hoare triple {4650#true} assume true; {4650#true} is VALID [2018-11-23 12:23:54,897 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4650#true} {4650#true} #63#return; {4650#true} is VALID [2018-11-23 12:23:54,898 INFO L256 TraceCheckUtils]: 4: Hoare triple {4650#true} call #t~ret5 := main(); {4650#true} is VALID [2018-11-23 12:23:54,898 INFO L273 TraceCheckUtils]: 5: Hoare triple {4650#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4650#true} is VALID [2018-11-23 12:23:54,899 INFO L273 TraceCheckUtils]: 6: Hoare triple {4650#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,899 INFO L273 TraceCheckUtils]: 7: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,899 INFO L273 TraceCheckUtils]: 8: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,900 INFO L273 TraceCheckUtils]: 9: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4652#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:23:54,900 INFO L273 TraceCheckUtils]: 10: Hoare triple {4652#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,901 INFO L273 TraceCheckUtils]: 11: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,901 INFO L273 TraceCheckUtils]: 12: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,901 INFO L273 TraceCheckUtils]: 13: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4653#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:23:54,902 INFO L273 TraceCheckUtils]: 14: Hoare triple {4653#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,903 INFO L273 TraceCheckUtils]: 15: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,903 INFO L273 TraceCheckUtils]: 16: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,904 INFO L273 TraceCheckUtils]: 17: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4654#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:23:54,904 INFO L273 TraceCheckUtils]: 18: Hoare triple {4654#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,905 INFO L273 TraceCheckUtils]: 19: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,905 INFO L273 TraceCheckUtils]: 20: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,906 INFO L273 TraceCheckUtils]: 21: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4655#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:23:54,907 INFO L273 TraceCheckUtils]: 22: Hoare triple {4655#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4656#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:54,907 INFO L273 TraceCheckUtils]: 23: Hoare triple {4656#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {4656#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:23:54,908 INFO L273 TraceCheckUtils]: 24: Hoare triple {4656#(<= ~SIZE~0 (+ main_~i~0 5))} assume !(~i~0 - 1 >= 0); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,909 INFO L273 TraceCheckUtils]: 25: Hoare triple {4657#(<= ~SIZE~0 5)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,909 INFO L273 TraceCheckUtils]: 26: Hoare triple {4657#(<= ~SIZE~0 5)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,910 INFO L273 TraceCheckUtils]: 27: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(~i~0 >= 0); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,911 INFO L273 TraceCheckUtils]: 28: Hoare triple {4657#(<= ~SIZE~0 5)} ~i~0 := 0; {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,912 INFO L273 TraceCheckUtils]: 29: Hoare triple {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,913 INFO L256 TraceCheckUtils]: 30: Hoare triple {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,915 INFO L273 TraceCheckUtils]: 31: Hoare triple {4657#(<= ~SIZE~0 5)} ~cond := #in~cond; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,915 INFO L273 TraceCheckUtils]: 32: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(0 == ~cond); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,916 INFO L273 TraceCheckUtils]: 33: Hoare triple {4657#(<= ~SIZE~0 5)} assume true; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,916 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4657#(<= ~SIZE~0 5)} {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} #67#return; {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,917 INFO L273 TraceCheckUtils]: 35: Hoare triple {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,917 INFO L273 TraceCheckUtils]: 36: Hoare triple {4747#(and (<= 0 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,918 INFO L273 TraceCheckUtils]: 37: Hoare triple {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,919 INFO L256 TraceCheckUtils]: 38: Hoare triple {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,920 INFO L273 TraceCheckUtils]: 39: Hoare triple {4657#(<= ~SIZE~0 5)} ~cond := #in~cond; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,920 INFO L273 TraceCheckUtils]: 40: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(0 == ~cond); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,921 INFO L273 TraceCheckUtils]: 41: Hoare triple {4657#(<= ~SIZE~0 5)} assume true; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,922 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4657#(<= ~SIZE~0 5)} {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} #67#return; {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,936 INFO L273 TraceCheckUtils]: 43: Hoare triple {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,936 INFO L273 TraceCheckUtils]: 44: Hoare triple {4772#(and (<= 1 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,937 INFO L273 TraceCheckUtils]: 45: Hoare triple {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,938 INFO L256 TraceCheckUtils]: 46: Hoare triple {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,939 INFO L273 TraceCheckUtils]: 47: Hoare triple {4657#(<= ~SIZE~0 5)} ~cond := #in~cond; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,939 INFO L273 TraceCheckUtils]: 48: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(0 == ~cond); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,939 INFO L273 TraceCheckUtils]: 49: Hoare triple {4657#(<= ~SIZE~0 5)} assume true; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,940 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {4657#(<= ~SIZE~0 5)} {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} #67#return; {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,941 INFO L273 TraceCheckUtils]: 51: Hoare triple {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,942 INFO L273 TraceCheckUtils]: 52: Hoare triple {4797#(and (<= 2 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:54,943 INFO L273 TraceCheckUtils]: 53: Hoare triple {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:54,944 INFO L256 TraceCheckUtils]: 54: Hoare triple {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,945 INFO L273 TraceCheckUtils]: 55: Hoare triple {4657#(<= ~SIZE~0 5)} ~cond := #in~cond; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,945 INFO L273 TraceCheckUtils]: 56: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(0 == ~cond); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,946 INFO L273 TraceCheckUtils]: 57: Hoare triple {4657#(<= ~SIZE~0 5)} assume true; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,947 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {4657#(<= ~SIZE~0 5)} {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} #67#return; {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:54,948 INFO L273 TraceCheckUtils]: 59: Hoare triple {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} havoc #t~mem4; {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} is VALID [2018-11-23 12:23:54,949 INFO L273 TraceCheckUtils]: 60: Hoare triple {4822#(and (<= ~SIZE~0 5) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,950 INFO L273 TraceCheckUtils]: 61: Hoare triple {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,951 INFO L256 TraceCheckUtils]: 62: Hoare triple {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,952 INFO L273 TraceCheckUtils]: 63: Hoare triple {4657#(<= ~SIZE~0 5)} ~cond := #in~cond; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,952 INFO L273 TraceCheckUtils]: 64: Hoare triple {4657#(<= ~SIZE~0 5)} assume !(0 == ~cond); {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,953 INFO L273 TraceCheckUtils]: 65: Hoare triple {4657#(<= ~SIZE~0 5)} assume true; {4657#(<= ~SIZE~0 5)} is VALID [2018-11-23 12:23:54,954 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {4657#(<= ~SIZE~0 5)} {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} #67#return; {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,955 INFO L273 TraceCheckUtils]: 67: Hoare triple {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} havoc #t~mem4; {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,956 INFO L273 TraceCheckUtils]: 68: Hoare triple {4847#(and (<= 4 main_~i~0) (<= ~SIZE~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4872#(and (<= 5 main_~i~0) (<= ~SIZE~0 5))} is VALID [2018-11-23 12:23:54,957 INFO L273 TraceCheckUtils]: 69: Hoare triple {4872#(and (<= 5 main_~i~0) (<= ~SIZE~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4651#false} is VALID [2018-11-23 12:23:54,957 INFO L256 TraceCheckUtils]: 70: Hoare triple {4651#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {4651#false} is VALID [2018-11-23 12:23:54,957 INFO L273 TraceCheckUtils]: 71: Hoare triple {4651#false} ~cond := #in~cond; {4651#false} is VALID [2018-11-23 12:23:54,957 INFO L273 TraceCheckUtils]: 72: Hoare triple {4651#false} assume 0 == ~cond; {4651#false} is VALID [2018-11-23 12:23:54,958 INFO L273 TraceCheckUtils]: 73: Hoare triple {4651#false} assume !false; {4651#false} is VALID [2018-11-23 12:23:54,969 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 60 proven. 45 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:23:54,988 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:23:54,988 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 14] total 16 [2018-11-23 12:23:54,989 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 74 [2018-11-23 12:23:54,989 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:23:54,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:23:55,086 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:23:55,086 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:23:55,087 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:23:55,087 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:23:55,087 INFO L87 Difference]: Start difference. First operand 77 states and 79 transitions. Second operand 16 states. [2018-11-23 12:23:59,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:23:59,789 INFO L93 Difference]: Finished difference Result 144 states and 149 transitions. [2018-11-23 12:23:59,789 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:23:59,789 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 74 [2018-11-23 12:23:59,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:23:59,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:23:59,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2018-11-23 12:23:59,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:23:59,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2018-11-23 12:23:59,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 96 transitions. [2018-11-23 12:24:01,012 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:01,015 INFO L225 Difference]: With dead ends: 144 [2018-11-23 12:24:01,015 INFO L226 Difference]: Without dead ends: 83 [2018-11-23 12:24:01,016 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:24:01,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2018-11-23 12:24:01,897 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 81. [2018-11-23 12:24:01,897 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:01,897 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 81 states. [2018-11-23 12:24:01,898 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 81 states. [2018-11-23 12:24:01,898 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 81 states. [2018-11-23 12:24:01,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:01,900 INFO L93 Difference]: Finished difference Result 83 states and 85 transitions. [2018-11-23 12:24:01,900 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 85 transitions. [2018-11-23 12:24:01,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:01,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:01,901 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 83 states. [2018-11-23 12:24:01,901 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 83 states. [2018-11-23 12:24:01,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:01,903 INFO L93 Difference]: Finished difference Result 83 states and 85 transitions. [2018-11-23 12:24:01,903 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 85 transitions. [2018-11-23 12:24:01,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:01,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:01,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:01,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:01,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 12:24:01,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 83 transitions. [2018-11-23 12:24:01,906 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 83 transitions. Word has length 74 [2018-11-23 12:24:01,906 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:01,906 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 83 transitions. [2018-11-23 12:24:01,906 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:24:01,907 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 83 transitions. [2018-11-23 12:24:01,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 12:24:01,907 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:01,908 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:01,908 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:01,908 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:01,908 INFO L82 PathProgramCache]: Analyzing trace with hash 2133532646, now seen corresponding path program 9 times [2018-11-23 12:24:01,908 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:01,909 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:01,909 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:01,909 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:01,910 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:01,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:02,551 WARN L180 SmtUtils]: Spent 196.00 ms on a formula simplification. DAG size of input: 16 DAG size of output: 13 [2018-11-23 12:24:03,913 INFO L256 TraceCheckUtils]: 0: Hoare triple {5359#true} call ULTIMATE.init(); {5359#true} is VALID [2018-11-23 12:24:03,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {5359#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5359#true} is VALID [2018-11-23 12:24:03,913 INFO L273 TraceCheckUtils]: 2: Hoare triple {5359#true} assume true; {5359#true} is VALID [2018-11-23 12:24:03,914 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5359#true} {5359#true} #63#return; {5359#true} is VALID [2018-11-23 12:24:03,914 INFO L256 TraceCheckUtils]: 4: Hoare triple {5359#true} call #t~ret5 := main(); {5359#true} is VALID [2018-11-23 12:24:03,914 INFO L273 TraceCheckUtils]: 5: Hoare triple {5359#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5359#true} is VALID [2018-11-23 12:24:03,915 INFO L273 TraceCheckUtils]: 6: Hoare triple {5359#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {5361#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:03,915 INFO L273 TraceCheckUtils]: 7: Hoare triple {5361#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {5361#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:03,916 INFO L273 TraceCheckUtils]: 8: Hoare triple {5361#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5361#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:03,916 INFO L273 TraceCheckUtils]: 9: Hoare triple {5361#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5362#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,917 INFO L273 TraceCheckUtils]: 10: Hoare triple {5362#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,918 INFO L273 TraceCheckUtils]: 11: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,919 INFO L273 TraceCheckUtils]: 12: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,920 INFO L273 TraceCheckUtils]: 13: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,921 INFO L273 TraceCheckUtils]: 14: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,922 INFO L273 TraceCheckUtils]: 15: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,923 INFO L273 TraceCheckUtils]: 16: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,925 INFO L273 TraceCheckUtils]: 17: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,926 INFO L273 TraceCheckUtils]: 18: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,927 INFO L273 TraceCheckUtils]: 19: Hoare triple {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,928 INFO L273 TraceCheckUtils]: 20: Hoare triple {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,930 INFO L273 TraceCheckUtils]: 21: Hoare triple {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,931 INFO L273 TraceCheckUtils]: 22: Hoare triple {5365#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5366#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,932 INFO L273 TraceCheckUtils]: 23: Hoare triple {5366#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5366#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,934 INFO L273 TraceCheckUtils]: 24: Hoare triple {5366#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5367#(and (or (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 5 (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,935 INFO L273 TraceCheckUtils]: 25: Hoare triple {5367#(and (or (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 5 (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) 4)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5367#(and (or (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 5 (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,936 INFO L273 TraceCheckUtils]: 26: Hoare triple {5367#(and (or (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 5 (div (+ (- |main_~#a~0.offset|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5368#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 0 main_~i~0) (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,937 INFO L273 TraceCheckUtils]: 27: Hoare triple {5368#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 0 main_~i~0) (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5368#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 0 main_~i~0) (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,939 INFO L273 TraceCheckUtils]: 28: Hoare triple {5368#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (and (<= 0 main_~i~0) (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {5369#(and (= |main_~#a~0.offset| 0) (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 5)))))} is VALID [2018-11-23 12:24:03,940 INFO L273 TraceCheckUtils]: 29: Hoare triple {5369#(and (= |main_~#a~0.offset| 0) (<= 5 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 5)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5370#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,941 INFO L273 TraceCheckUtils]: 30: Hoare triple {5370#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5370#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,941 INFO L273 TraceCheckUtils]: 31: Hoare triple {5370#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {5370#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,942 INFO L273 TraceCheckUtils]: 32: Hoare triple {5370#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,943 INFO L273 TraceCheckUtils]: 33: Hoare triple {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,943 INFO L256 TraceCheckUtils]: 34: Hoare triple {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5359#true} is VALID [2018-11-23 12:24:03,944 INFO L273 TraceCheckUtils]: 35: Hoare triple {5359#true} ~cond := #in~cond; {5372#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:24:03,944 INFO L273 TraceCheckUtils]: 36: Hoare triple {5372#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {5373#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:03,945 INFO L273 TraceCheckUtils]: 37: Hoare triple {5373#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5373#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:03,946 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {5373#(not (= |__VERIFIER_assert_#in~cond| 0))} {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,947 INFO L273 TraceCheckUtils]: 39: Hoare triple {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,948 INFO L273 TraceCheckUtils]: 40: Hoare triple {5371#(and (<= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,969 INFO L273 TraceCheckUtils]: 41: Hoare triple {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,969 INFO L256 TraceCheckUtils]: 42: Hoare triple {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5359#true} is VALID [2018-11-23 12:24:03,969 INFO L273 TraceCheckUtils]: 43: Hoare triple {5359#true} ~cond := #in~cond; {5359#true} is VALID [2018-11-23 12:24:03,969 INFO L273 TraceCheckUtils]: 44: Hoare triple {5359#true} assume !(0 == ~cond); {5359#true} is VALID [2018-11-23 12:24:03,969 INFO L273 TraceCheckUtils]: 45: Hoare triple {5359#true} assume true; {5359#true} is VALID [2018-11-23 12:24:03,972 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5359#true} {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} #67#return; {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,972 INFO L273 TraceCheckUtils]: 47: Hoare triple {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,973 INFO L273 TraceCheckUtils]: 48: Hoare triple {5374#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,974 INFO L273 TraceCheckUtils]: 49: Hoare triple {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,974 INFO L256 TraceCheckUtils]: 50: Hoare triple {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5359#true} is VALID [2018-11-23 12:24:03,974 INFO L273 TraceCheckUtils]: 51: Hoare triple {5359#true} ~cond := #in~cond; {5359#true} is VALID [2018-11-23 12:24:03,974 INFO L273 TraceCheckUtils]: 52: Hoare triple {5359#true} assume !(0 == ~cond); {5359#true} is VALID [2018-11-23 12:24:03,974 INFO L273 TraceCheckUtils]: 53: Hoare triple {5359#true} assume true; {5359#true} is VALID [2018-11-23 12:24:03,975 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5359#true} {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #67#return; {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,975 INFO L273 TraceCheckUtils]: 55: Hoare triple {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,976 INFO L273 TraceCheckUtils]: 56: Hoare triple {5375#(and (<= (+ main_~i~0 3) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,976 INFO L273 TraceCheckUtils]: 57: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,977 INFO L256 TraceCheckUtils]: 58: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5359#true} is VALID [2018-11-23 12:24:03,977 INFO L273 TraceCheckUtils]: 59: Hoare triple {5359#true} ~cond := #in~cond; {5359#true} is VALID [2018-11-23 12:24:03,977 INFO L273 TraceCheckUtils]: 60: Hoare triple {5359#true} assume !(0 == ~cond); {5359#true} is VALID [2018-11-23 12:24:03,977 INFO L273 TraceCheckUtils]: 61: Hoare triple {5359#true} assume true; {5359#true} is VALID [2018-11-23 12:24:03,978 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5359#true} {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #67#return; {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,979 INFO L273 TraceCheckUtils]: 63: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,980 INFO L273 TraceCheckUtils]: 64: Hoare triple {5364#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,981 INFO L273 TraceCheckUtils]: 65: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,982 INFO L256 TraceCheckUtils]: 66: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5359#true} is VALID [2018-11-23 12:24:03,982 INFO L273 TraceCheckUtils]: 67: Hoare triple {5359#true} ~cond := #in~cond; {5359#true} is VALID [2018-11-23 12:24:03,982 INFO L273 TraceCheckUtils]: 68: Hoare triple {5359#true} assume !(0 == ~cond); {5359#true} is VALID [2018-11-23 12:24:03,982 INFO L273 TraceCheckUtils]: 69: Hoare triple {5359#true} assume true; {5359#true} is VALID [2018-11-23 12:24:03,983 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {5359#true} {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #67#return; {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,984 INFO L273 TraceCheckUtils]: 71: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,985 INFO L273 TraceCheckUtils]: 72: Hoare triple {5363#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5376#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:03,986 INFO L273 TraceCheckUtils]: 73: Hoare triple {5376#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5377#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:24:03,987 INFO L256 TraceCheckUtils]: 74: Hoare triple {5377#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5373#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:03,988 INFO L273 TraceCheckUtils]: 75: Hoare triple {5373#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5378#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:03,988 INFO L273 TraceCheckUtils]: 76: Hoare triple {5378#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5360#false} is VALID [2018-11-23 12:24:03,988 INFO L273 TraceCheckUtils]: 77: Hoare triple {5360#false} assume !false; {5360#false} is VALID [2018-11-23 12:24:04,019 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 29 proven. 109 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:24:04,019 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:04,019 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:04,029 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:24:04,104 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:24:04,104 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:04,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:04,128 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:04,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:24:04,161 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:24:04,169 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,173 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,181 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,181 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:24:04,240 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 28 [2018-11-23 12:24:04,251 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,251 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,252 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 58 [2018-11-23 12:24:04,255 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,266 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,274 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,275 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:36, output treesize:32 [2018-11-23 12:24:04,338 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 37 [2018-11-23 12:24:04,348 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,349 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,355 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,356 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,357 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,357 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 128 [2018-11-23 12:24:04,362 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,382 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,395 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,395 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:24:04,531 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 51 [2018-11-23 12:24:04,542 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,543 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,544 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,546 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,548 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,549 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,551 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,552 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,554 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,555 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,556 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,557 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 245 [2018-11-23 12:24:04,561 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,600 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,614 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,615 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:63, output treesize:59 [2018-11-23 12:24:04,699 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,700 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 70 [2018-11-23 12:24:04,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,716 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,718 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,719 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,720 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,721 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,724 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,727 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,729 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,730 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,732 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,733 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,734 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 291 [2018-11-23 12:24:04,741 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,790 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,804 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:04,805 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:74, output treesize:57 [2018-11-23 12:24:04,812 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:04,813 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|]. (let ((.cse2 (* 4 main_~i~0))) (let ((.cse1 (+ .cse2 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_32| |main_~#a~0.base|))) (and (= (+ (select .cse0 .cse1) 1) main_~i~0) (= (store |v_#memory_int_32| |main_~#a~0.base| (store .cse0 .cse1 main_~i~0)) |#memory_int|) (= (select .cse0 (+ .cse2 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= main_~i~0 (+ (select .cse0 (+ .cse2 |main_~#a~0.offset| (- 4))) 2)) (= (select .cse0 (+ .cse2 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:04,813 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:04,983 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 74 treesize of output 63 [2018-11-23 12:24:04,993 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,994 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,995 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,996 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,996 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,997 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:04,999 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,000 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,001 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,002 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,004 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,005 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,010 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,011 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,012 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,015 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,016 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,017 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 394 [2018-11-23 12:24:05,025 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,091 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,109 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,110 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:77, output treesize:73 [2018-11-23 12:24:05,213 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 82 [2018-11-23 12:24:05,233 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,235 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,236 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,238 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,239 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,241 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,242 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,244 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,245 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,246 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,248 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,250 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,252 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,254 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,255 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,257 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,259 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,260 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,264 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,267 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 25 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 454 [2018-11-23 12:24:05,279 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,359 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,378 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,379 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:88, output treesize:71 [2018-11-23 12:24:05,390 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:05,391 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_34| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= (store |v_#memory_int_34| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:05,391 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:05,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 75 [2018-11-23 12:24:05,617 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,618 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,619 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,621 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,625 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,630 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,633 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,634 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,636 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,637 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,639 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,640 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,643 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,645 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,646 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,650 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,651 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,654 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,657 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 30 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 579 [2018-11-23 12:24:05,666 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,769 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,791 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:05,792 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:91, output treesize:87 [2018-11-23 12:24:05,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 94 [2018-11-23 12:24:05,979 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,980 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,981 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,983 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,984 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,986 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,987 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,989 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,990 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,991 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,993 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,994 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,996 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,997 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:05,999 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,001 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,003 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,004 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,006 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,008 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,011 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,014 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,016 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,018 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,020 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,021 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,023 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,025 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,027 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,029 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,030 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,032 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,034 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:06,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 36 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 653 [2018-11-23 12:24:06,069 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:06,186 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:06,207 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:06,208 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:102, output treesize:85 [2018-11-23 12:24:06,217 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:06,217 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_36| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (+ main_~i~0 4) (select .cse0 (+ .cse1 |main_~#a~0.offset| 16))) (= (store |v_#memory_int_36| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:06,217 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:07,004 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 94 [2018-11-23 12:24:07,061 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,062 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,064 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,065 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,066 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,069 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,071 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,072 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,073 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,075 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,076 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,078 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,079 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,081 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,082 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,084 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,086 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,088 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,089 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,091 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,093 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,094 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,098 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,100 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,103 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,105 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,107 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,109 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,112 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,114 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,115 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:07,117 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 36 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 653 [2018-11-23 12:24:07,128 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,261 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:07,299 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:24:07,300 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:108, output treesize:91 [2018-11-23 12:24:08,457 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:08,457 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, main_~i~0]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_37| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (< main_~i~0 1) (<= 0 main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 4) (select .cse0 (+ .cse1 |main_~#a~0.offset| 16))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (store |v_#memory_int_37| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:08,457 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:24:14,337 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 70 [2018-11-23 12:24:14,352 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,353 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,354 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,355 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,356 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,357 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,358 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,360 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,361 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,362 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,363 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,364 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,366 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:24:14,367 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,368 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,369 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,370 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,372 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,373 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,374 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,376 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,377 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,379 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,380 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,381 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,387 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,388 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,389 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,390 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,392 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,393 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,394 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:14,398 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 70 treesize of output 313 [2018-11-23 12:24:14,407 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:14,536 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:14,549 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:14,549 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:93, output treesize:7 [2018-11-23 12:24:14,552 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:14,553 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_17]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_17))) (and (< v_prenex_17 1) (= (+ v_prenex_17 3) (select .cse0 (+ .cse1 12))) (= (select .cse0 (+ .cse1 20)) (+ v_prenex_17 5)) (= (select .cse0 .cse1) v_prenex_17) (<= 0 v_prenex_17) (= (select .cse0 (+ .cse1 16)) (+ v_prenex_17 4)) (= (select .cse0 (+ .cse1 8)) (+ v_prenex_17 2)) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (select .cse0 (+ .cse1 4)) (+ v_prenex_17 1)) (= main_~i~0 5))) [2018-11-23 12:24:14,553 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 5 |main_#t~mem4|) (= main_~i~0 5)) [2018-11-23 12:24:14,672 INFO L256 TraceCheckUtils]: 0: Hoare triple {5359#true} call ULTIMATE.init(); {5359#true} is VALID [2018-11-23 12:24:14,673 INFO L273 TraceCheckUtils]: 1: Hoare triple {5359#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5359#true} is VALID [2018-11-23 12:24:14,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {5359#true} assume true; {5359#true} is VALID [2018-11-23 12:24:14,673 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5359#true} {5359#true} #63#return; {5359#true} is VALID [2018-11-23 12:24:14,673 INFO L256 TraceCheckUtils]: 4: Hoare triple {5359#true} call #t~ret5 := main(); {5359#true} is VALID [2018-11-23 12:24:14,673 INFO L273 TraceCheckUtils]: 5: Hoare triple {5359#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5359#true} is VALID [2018-11-23 12:24:14,674 INFO L273 TraceCheckUtils]: 6: Hoare triple {5359#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {5361#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:14,674 INFO L273 TraceCheckUtils]: 7: Hoare triple {5361#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {5361#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:14,674 INFO L273 TraceCheckUtils]: 8: Hoare triple {5361#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5361#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:14,675 INFO L273 TraceCheckUtils]: 9: Hoare triple {5361#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5362#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,675 INFO L273 TraceCheckUtils]: 10: Hoare triple {5362#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5412#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,676 INFO L273 TraceCheckUtils]: 11: Hoare triple {5412#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5412#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,677 INFO L273 TraceCheckUtils]: 12: Hoare triple {5412#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5419#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,678 INFO L273 TraceCheckUtils]: 13: Hoare triple {5419#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5423#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,681 INFO L273 TraceCheckUtils]: 14: Hoare triple {5423#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5427#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,682 INFO L273 TraceCheckUtils]: 15: Hoare triple {5427#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5427#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,684 INFO L273 TraceCheckUtils]: 16: Hoare triple {5427#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5434#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,685 INFO L273 TraceCheckUtils]: 17: Hoare triple {5434#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5438#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,688 INFO L273 TraceCheckUtils]: 18: Hoare triple {5438#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5442#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,689 INFO L273 TraceCheckUtils]: 19: Hoare triple {5442#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5442#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,691 INFO L273 TraceCheckUtils]: 20: Hoare triple {5442#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5449#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,692 INFO L273 TraceCheckUtils]: 21: Hoare triple {5449#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5453#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,696 INFO L273 TraceCheckUtils]: 22: Hoare triple {5453#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5457#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,696 INFO L273 TraceCheckUtils]: 23: Hoare triple {5457#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5457#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,698 INFO L273 TraceCheckUtils]: 24: Hoare triple {5457#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {5464#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,699 INFO L273 TraceCheckUtils]: 25: Hoare triple {5464#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5468#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,702 INFO L273 TraceCheckUtils]: 26: Hoare triple {5468#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5472#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,704 INFO L273 TraceCheckUtils]: 27: Hoare triple {5472#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {5476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,704 INFO L273 TraceCheckUtils]: 28: Hoare triple {5476#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {5480#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,707 INFO L273 TraceCheckUtils]: 29: Hoare triple {5480#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5484#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,708 INFO L273 TraceCheckUtils]: 30: Hoare triple {5484#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {5484#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,708 INFO L273 TraceCheckUtils]: 31: Hoare triple {5484#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {5484#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,710 INFO L273 TraceCheckUtils]: 32: Hoare triple {5484#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,711 INFO L273 TraceCheckUtils]: 33: Hoare triple {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,714 INFO L256 TraceCheckUtils]: 34: Hoare triple {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,715 INFO L273 TraceCheckUtils]: 35: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} ~cond := #in~cond; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,715 INFO L273 TraceCheckUtils]: 36: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume !(0 == ~cond); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,716 INFO L273 TraceCheckUtils]: 37: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume true; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,717 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,718 INFO L273 TraceCheckUtils]: 39: Hoare triple {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,720 INFO L273 TraceCheckUtils]: 40: Hoare triple {5494#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,721 INFO L273 TraceCheckUtils]: 41: Hoare triple {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,724 INFO L256 TraceCheckUtils]: 42: Hoare triple {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,724 INFO L273 TraceCheckUtils]: 43: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} ~cond := #in~cond; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,725 INFO L273 TraceCheckUtils]: 44: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume !(0 == ~cond); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,726 INFO L273 TraceCheckUtils]: 45: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume true; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,726 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,728 INFO L273 TraceCheckUtils]: 47: Hoare triple {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,729 INFO L273 TraceCheckUtils]: 48: Hoare triple {5520#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,731 INFO L273 TraceCheckUtils]: 49: Hoare triple {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,734 INFO L256 TraceCheckUtils]: 50: Hoare triple {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,734 INFO L273 TraceCheckUtils]: 51: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} ~cond := #in~cond; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,735 INFO L273 TraceCheckUtils]: 52: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume !(0 == ~cond); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,735 INFO L273 TraceCheckUtils]: 53: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume true; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,736 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #67#return; {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,738 INFO L273 TraceCheckUtils]: 55: Hoare triple {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,739 INFO L273 TraceCheckUtils]: 56: Hoare triple {5545#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 2) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,741 INFO L273 TraceCheckUtils]: 57: Hoare triple {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,743 INFO L256 TraceCheckUtils]: 58: Hoare triple {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,744 INFO L273 TraceCheckUtils]: 59: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} ~cond := #in~cond; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,745 INFO L273 TraceCheckUtils]: 60: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume !(0 == ~cond); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,745 INFO L273 TraceCheckUtils]: 61: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} assume true; {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,746 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} #67#return; {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,747 INFO L273 TraceCheckUtils]: 63: Hoare triple {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,748 INFO L273 TraceCheckUtils]: 64: Hoare triple {5570#(and (= main_~i~0 3) (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,749 INFO L273 TraceCheckUtils]: 65: Hoare triple {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,752 INFO L256 TraceCheckUtils]: 66: Hoare triple {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} is VALID [2018-11-23 12:24:14,753 INFO L273 TraceCheckUtils]: 67: Hoare triple {5501#(exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20)))))} ~cond := #in~cond; {5605#(and (exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:24:14,754 INFO L273 TraceCheckUtils]: 68: Hoare triple {5605#(and (exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {5609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20))))))} is VALID [2018-11-23 12:24:14,755 INFO L273 TraceCheckUtils]: 69: Hoare triple {5609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20))))))} assume true; {5609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20))))))} is VALID [2018-11-23 12:24:14,756 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {5609#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_prenex_17 Int) (|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (and (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 8)) (+ v_prenex_17 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 4)) (+ v_prenex_17 1)) (< v_prenex_17 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= v_prenex_17 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (* 4 v_prenex_17))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (+ (* 4 v_prenex_17) 20))))))} {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #67#return; {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,758 INFO L273 TraceCheckUtils]: 71: Hoare triple {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,760 INFO L273 TraceCheckUtils]: 72: Hoare triple {5595#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5622#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:14,761 INFO L273 TraceCheckUtils]: 73: Hoare triple {5622#(and (exists ((v_prenex_17 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 8)) (+ v_prenex_17 2)) (< v_prenex_17 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 16)) (+ v_prenex_17 4)) (= (+ v_prenex_17 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 4))) (= v_prenex_17 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset|))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 12)) (+ v_prenex_17 3)) (<= 0 v_prenex_17) (= (+ v_prenex_17 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_17) |main_~#a~0.offset| 20))))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5626#(and (<= 5 |main_#t~mem4|) (= main_~i~0 5))} is VALID [2018-11-23 12:24:14,763 INFO L256 TraceCheckUtils]: 74: Hoare triple {5626#(and (<= 5 |main_#t~mem4|) (= main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {5630#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:24:14,763 INFO L273 TraceCheckUtils]: 75: Hoare triple {5630#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5634#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:24:14,764 INFO L273 TraceCheckUtils]: 76: Hoare triple {5634#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5360#false} is VALID [2018-11-23 12:24:14,764 INFO L273 TraceCheckUtils]: 77: Hoare triple {5360#false} assume !false; {5360#false} is VALID [2018-11-23 12:24:14,828 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 64 proven. 74 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:24:14,847 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:14,847 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 32] total 48 [2018-11-23 12:24:14,848 INFO L78 Accepts]: Start accepts. Automaton has 48 states. Word has length 78 [2018-11-23 12:24:14,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:14,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states. [2018-11-23 12:24:15,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:15,138 INFO L459 AbstractCegarLoop]: Interpolant automaton has 48 states [2018-11-23 12:24:15,138 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2018-11-23 12:24:15,138 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=355, Invalid=1901, Unknown=0, NotChecked=0, Total=2256 [2018-11-23 12:24:15,139 INFO L87 Difference]: Start difference. First operand 81 states and 83 transitions. Second operand 48 states. [2018-11-23 12:24:27,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:27,721 INFO L93 Difference]: Finished difference Result 174 states and 183 transitions. [2018-11-23 12:24:27,721 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 74 states. [2018-11-23 12:24:27,721 INFO L78 Accepts]: Start accepts. Automaton has 48 states. Word has length 78 [2018-11-23 12:24:27,722 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:27,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 12:24:27,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 153 transitions. [2018-11-23 12:24:27,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 12:24:27,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 153 transitions. [2018-11-23 12:24:27,729 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 74 states and 153 transitions. [2018-11-23 12:24:28,637 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:28,644 INFO L225 Difference]: With dead ends: 174 [2018-11-23 12:24:28,644 INFO L226 Difference]: Without dead ends: 172 [2018-11-23 12:24:28,647 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 43 SyntacticMatches, 20 SemanticMatches, 100 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3594 ImplicationChecksByTransitivity, 8.7s TimeCoverageRelationStatistics Valid=1311, Invalid=8991, Unknown=0, NotChecked=0, Total=10302 [2018-11-23 12:24:28,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 172 states. [2018-11-23 12:24:29,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 172 to 89. [2018-11-23 12:24:29,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:29,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 172 states. Second operand 89 states. [2018-11-23 12:24:29,588 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand 89 states. [2018-11-23 12:24:29,588 INFO L87 Difference]: Start difference. First operand 172 states. Second operand 89 states. [2018-11-23 12:24:29,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:29,593 INFO L93 Difference]: Finished difference Result 172 states and 180 transitions. [2018-11-23 12:24:29,593 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 180 transitions. [2018-11-23 12:24:29,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:29,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:29,593 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 172 states. [2018-11-23 12:24:29,593 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 172 states. [2018-11-23 12:24:29,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:29,597 INFO L93 Difference]: Finished difference Result 172 states and 180 transitions. [2018-11-23 12:24:29,598 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 180 transitions. [2018-11-23 12:24:29,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:29,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:29,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:29,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:29,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:24:29,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 91 transitions. [2018-11-23 12:24:29,601 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 91 transitions. Word has length 78 [2018-11-23 12:24:29,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:29,601 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 91 transitions. [2018-11-23 12:24:29,601 INFO L481 AbstractCegarLoop]: Interpolant automaton has 48 states. [2018-11-23 12:24:29,601 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 91 transitions. [2018-11-23 12:24:29,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2018-11-23 12:24:29,602 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:29,603 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:29,603 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:29,603 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:29,603 INFO L82 PathProgramCache]: Analyzing trace with hash -721560167, now seen corresponding path program 10 times [2018-11-23 12:24:29,603 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:29,604 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:29,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:29,604 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:29,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:29,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:30,562 INFO L256 TraceCheckUtils]: 0: Hoare triple {6445#true} call ULTIMATE.init(); {6445#true} is VALID [2018-11-23 12:24:30,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {6445#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6445#true} is VALID [2018-11-23 12:24:30,562 INFO L273 TraceCheckUtils]: 2: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,562 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6445#true} {6445#true} #63#return; {6445#true} is VALID [2018-11-23 12:24:30,563 INFO L256 TraceCheckUtils]: 4: Hoare triple {6445#true} call #t~ret5 := main(); {6445#true} is VALID [2018-11-23 12:24:30,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {6445#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6445#true} is VALID [2018-11-23 12:24:30,564 INFO L273 TraceCheckUtils]: 6: Hoare triple {6445#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,564 INFO L273 TraceCheckUtils]: 7: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,565 INFO L273 TraceCheckUtils]: 8: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,565 INFO L273 TraceCheckUtils]: 9: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,566 INFO L273 TraceCheckUtils]: 10: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,566 INFO L273 TraceCheckUtils]: 11: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,566 INFO L273 TraceCheckUtils]: 12: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,567 INFO L273 TraceCheckUtils]: 13: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,567 INFO L273 TraceCheckUtils]: 14: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,568 INFO L273 TraceCheckUtils]: 15: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,569 INFO L273 TraceCheckUtils]: 16: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,569 INFO L273 TraceCheckUtils]: 17: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,570 INFO L273 TraceCheckUtils]: 18: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,570 INFO L273 TraceCheckUtils]: 19: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,571 INFO L273 TraceCheckUtils]: 20: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,571 INFO L273 TraceCheckUtils]: 21: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,572 INFO L273 TraceCheckUtils]: 22: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,573 INFO L273 TraceCheckUtils]: 23: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,573 INFO L273 TraceCheckUtils]: 24: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,574 INFO L273 TraceCheckUtils]: 25: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,575 INFO L273 TraceCheckUtils]: 26: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6452#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:30,575 INFO L273 TraceCheckUtils]: 27: Hoare triple {6452#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0); {6452#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:30,576 INFO L273 TraceCheckUtils]: 28: Hoare triple {6452#(<= ~SIZE~0 (+ main_~i~0 6))} assume !(~i~0 - 1 >= 0); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:30,576 INFO L273 TraceCheckUtils]: 29: Hoare triple {6453#(<= ~SIZE~0 6)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:30,577 INFO L273 TraceCheckUtils]: 30: Hoare triple {6453#(<= ~SIZE~0 6)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:30,577 INFO L273 TraceCheckUtils]: 31: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(~i~0 >= 0); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:30,578 INFO L273 TraceCheckUtils]: 32: Hoare triple {6453#(<= ~SIZE~0 6)} ~i~0 := 0; {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:30,579 INFO L273 TraceCheckUtils]: 33: Hoare triple {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:30,579 INFO L256 TraceCheckUtils]: 34: Hoare triple {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6445#true} is VALID [2018-11-23 12:24:30,579 INFO L273 TraceCheckUtils]: 35: Hoare triple {6445#true} ~cond := #in~cond; {6445#true} is VALID [2018-11-23 12:24:30,579 INFO L273 TraceCheckUtils]: 36: Hoare triple {6445#true} assume !(0 == ~cond); {6445#true} is VALID [2018-11-23 12:24:30,579 INFO L273 TraceCheckUtils]: 37: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,580 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6445#true} {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} #67#return; {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:30,581 INFO L273 TraceCheckUtils]: 39: Hoare triple {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} havoc #t~mem4; {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} is VALID [2018-11-23 12:24:30,582 INFO L273 TraceCheckUtils]: 40: Hoare triple {6454#(and (<= ~SIZE~0 6) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,583 INFO L273 TraceCheckUtils]: 41: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,583 INFO L256 TraceCheckUtils]: 42: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6445#true} is VALID [2018-11-23 12:24:30,583 INFO L273 TraceCheckUtils]: 43: Hoare triple {6445#true} ~cond := #in~cond; {6445#true} is VALID [2018-11-23 12:24:30,583 INFO L273 TraceCheckUtils]: 44: Hoare triple {6445#true} assume !(0 == ~cond); {6445#true} is VALID [2018-11-23 12:24:30,584 INFO L273 TraceCheckUtils]: 45: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,585 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {6445#true} {6451#(<= ~SIZE~0 (+ main_~i~0 5))} #67#return; {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,585 INFO L273 TraceCheckUtils]: 47: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:30,586 INFO L273 TraceCheckUtils]: 48: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,587 INFO L273 TraceCheckUtils]: 49: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,587 INFO L256 TraceCheckUtils]: 50: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6445#true} is VALID [2018-11-23 12:24:30,587 INFO L273 TraceCheckUtils]: 51: Hoare triple {6445#true} ~cond := #in~cond; {6445#true} is VALID [2018-11-23 12:24:30,587 INFO L273 TraceCheckUtils]: 52: Hoare triple {6445#true} assume !(0 == ~cond); {6445#true} is VALID [2018-11-23 12:24:30,587 INFO L273 TraceCheckUtils]: 53: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,588 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {6445#true} {6450#(<= ~SIZE~0 (+ main_~i~0 4))} #67#return; {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,589 INFO L273 TraceCheckUtils]: 55: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:30,590 INFO L273 TraceCheckUtils]: 56: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,590 INFO L273 TraceCheckUtils]: 57: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,590 INFO L256 TraceCheckUtils]: 58: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6445#true} is VALID [2018-11-23 12:24:30,591 INFO L273 TraceCheckUtils]: 59: Hoare triple {6445#true} ~cond := #in~cond; {6445#true} is VALID [2018-11-23 12:24:30,591 INFO L273 TraceCheckUtils]: 60: Hoare triple {6445#true} assume !(0 == ~cond); {6445#true} is VALID [2018-11-23 12:24:30,591 INFO L273 TraceCheckUtils]: 61: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,592 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {6445#true} {6449#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,593 INFO L273 TraceCheckUtils]: 63: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:30,593 INFO L273 TraceCheckUtils]: 64: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,594 INFO L273 TraceCheckUtils]: 65: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,594 INFO L256 TraceCheckUtils]: 66: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6445#true} is VALID [2018-11-23 12:24:30,594 INFO L273 TraceCheckUtils]: 67: Hoare triple {6445#true} ~cond := #in~cond; {6445#true} is VALID [2018-11-23 12:24:30,595 INFO L273 TraceCheckUtils]: 68: Hoare triple {6445#true} assume !(0 == ~cond); {6445#true} is VALID [2018-11-23 12:24:30,595 INFO L273 TraceCheckUtils]: 69: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,596 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {6445#true} {6448#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,596 INFO L273 TraceCheckUtils]: 71: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:30,597 INFO L273 TraceCheckUtils]: 72: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,598 INFO L273 TraceCheckUtils]: 73: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,598 INFO L256 TraceCheckUtils]: 74: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6445#true} is VALID [2018-11-23 12:24:30,598 INFO L273 TraceCheckUtils]: 75: Hoare triple {6445#true} ~cond := #in~cond; {6445#true} is VALID [2018-11-23 12:24:30,598 INFO L273 TraceCheckUtils]: 76: Hoare triple {6445#true} assume !(0 == ~cond); {6445#true} is VALID [2018-11-23 12:24:30,598 INFO L273 TraceCheckUtils]: 77: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:30,599 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {6445#true} {6447#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,600 INFO L273 TraceCheckUtils]: 79: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:30,601 INFO L273 TraceCheckUtils]: 80: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6455#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:24:30,601 INFO L273 TraceCheckUtils]: 81: Hoare triple {6455#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6446#false} is VALID [2018-11-23 12:24:30,602 INFO L256 TraceCheckUtils]: 82: Hoare triple {6446#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6446#false} is VALID [2018-11-23 12:24:30,602 INFO L273 TraceCheckUtils]: 83: Hoare triple {6446#false} ~cond := #in~cond; {6446#false} is VALID [2018-11-23 12:24:30,602 INFO L273 TraceCheckUtils]: 84: Hoare triple {6446#false} assume 0 == ~cond; {6446#false} is VALID [2018-11-23 12:24:30,602 INFO L273 TraceCheckUtils]: 85: Hoare triple {6446#false} assume !false; {6446#false} is VALID [2018-11-23 12:24:30,609 INFO L134 CoverageAnalysis]: Checked inductivity of 210 backedges. 63 proven. 87 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:24:30,609 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:30,610 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:30,618 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:24:30,645 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:24:30,645 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:30,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:30,661 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:31,005 INFO L256 TraceCheckUtils]: 0: Hoare triple {6445#true} call ULTIMATE.init(); {6445#true} is VALID [2018-11-23 12:24:31,005 INFO L273 TraceCheckUtils]: 1: Hoare triple {6445#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6445#true} is VALID [2018-11-23 12:24:31,005 INFO L273 TraceCheckUtils]: 2: Hoare triple {6445#true} assume true; {6445#true} is VALID [2018-11-23 12:24:31,006 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6445#true} {6445#true} #63#return; {6445#true} is VALID [2018-11-23 12:24:31,006 INFO L256 TraceCheckUtils]: 4: Hoare triple {6445#true} call #t~ret5 := main(); {6445#true} is VALID [2018-11-23 12:24:31,006 INFO L273 TraceCheckUtils]: 5: Hoare triple {6445#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6445#true} is VALID [2018-11-23 12:24:31,007 INFO L273 TraceCheckUtils]: 6: Hoare triple {6445#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:31,007 INFO L273 TraceCheckUtils]: 7: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:31,007 INFO L273 TraceCheckUtils]: 8: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:31,008 INFO L273 TraceCheckUtils]: 9: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6447#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:24:31,008 INFO L273 TraceCheckUtils]: 10: Hoare triple {6447#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:31,009 INFO L273 TraceCheckUtils]: 11: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:31,009 INFO L273 TraceCheckUtils]: 12: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:31,009 INFO L273 TraceCheckUtils]: 13: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6448#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:24:31,010 INFO L273 TraceCheckUtils]: 14: Hoare triple {6448#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:31,010 INFO L273 TraceCheckUtils]: 15: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:31,011 INFO L273 TraceCheckUtils]: 16: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:31,011 INFO L273 TraceCheckUtils]: 17: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6449#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:24:31,012 INFO L273 TraceCheckUtils]: 18: Hoare triple {6449#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:31,013 INFO L273 TraceCheckUtils]: 19: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:31,013 INFO L273 TraceCheckUtils]: 20: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:31,014 INFO L273 TraceCheckUtils]: 21: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6450#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:24:31,014 INFO L273 TraceCheckUtils]: 22: Hoare triple {6450#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:31,015 INFO L273 TraceCheckUtils]: 23: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:31,015 INFO L273 TraceCheckUtils]: 24: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:31,016 INFO L273 TraceCheckUtils]: 25: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6451#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:24:31,017 INFO L273 TraceCheckUtils]: 26: Hoare triple {6451#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6452#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:31,017 INFO L273 TraceCheckUtils]: 27: Hoare triple {6452#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0); {6452#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:24:31,018 INFO L273 TraceCheckUtils]: 28: Hoare triple {6452#(<= ~SIZE~0 (+ main_~i~0 6))} assume !(~i~0 - 1 >= 0); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,018 INFO L273 TraceCheckUtils]: 29: Hoare triple {6453#(<= ~SIZE~0 6)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,019 INFO L273 TraceCheckUtils]: 30: Hoare triple {6453#(<= ~SIZE~0 6)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,019 INFO L273 TraceCheckUtils]: 31: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(~i~0 >= 0); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,020 INFO L273 TraceCheckUtils]: 32: Hoare triple {6453#(<= ~SIZE~0 6)} ~i~0 := 0; {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,021 INFO L273 TraceCheckUtils]: 33: Hoare triple {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,022 INFO L256 TraceCheckUtils]: 34: Hoare triple {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,023 INFO L273 TraceCheckUtils]: 35: Hoare triple {6453#(<= ~SIZE~0 6)} ~cond := #in~cond; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,023 INFO L273 TraceCheckUtils]: 36: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(0 == ~cond); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,024 INFO L273 TraceCheckUtils]: 37: Hoare triple {6453#(<= ~SIZE~0 6)} assume true; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,025 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6453#(<= ~SIZE~0 6)} {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} #67#return; {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,025 INFO L273 TraceCheckUtils]: 39: Hoare triple {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,026 INFO L273 TraceCheckUtils]: 40: Hoare triple {6555#(and (<= 0 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,027 INFO L273 TraceCheckUtils]: 41: Hoare triple {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,028 INFO L256 TraceCheckUtils]: 42: Hoare triple {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,029 INFO L273 TraceCheckUtils]: 43: Hoare triple {6453#(<= ~SIZE~0 6)} ~cond := #in~cond; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,030 INFO L273 TraceCheckUtils]: 44: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(0 == ~cond); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,030 INFO L273 TraceCheckUtils]: 45: Hoare triple {6453#(<= ~SIZE~0 6)} assume true; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,031 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {6453#(<= ~SIZE~0 6)} {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} #67#return; {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,032 INFO L273 TraceCheckUtils]: 47: Hoare triple {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,032 INFO L273 TraceCheckUtils]: 48: Hoare triple {6580#(and (<= 1 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,033 INFO L273 TraceCheckUtils]: 49: Hoare triple {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,035 INFO L256 TraceCheckUtils]: 50: Hoare triple {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,035 INFO L273 TraceCheckUtils]: 51: Hoare triple {6453#(<= ~SIZE~0 6)} ~cond := #in~cond; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,036 INFO L273 TraceCheckUtils]: 52: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(0 == ~cond); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,036 INFO L273 TraceCheckUtils]: 53: Hoare triple {6453#(<= ~SIZE~0 6)} assume true; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,037 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {6453#(<= ~SIZE~0 6)} {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} #67#return; {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,038 INFO L273 TraceCheckUtils]: 55: Hoare triple {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,039 INFO L273 TraceCheckUtils]: 56: Hoare triple {6605#(and (<= 2 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:31,039 INFO L273 TraceCheckUtils]: 57: Hoare triple {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:31,041 INFO L256 TraceCheckUtils]: 58: Hoare triple {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,041 INFO L273 TraceCheckUtils]: 59: Hoare triple {6453#(<= ~SIZE~0 6)} ~cond := #in~cond; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,042 INFO L273 TraceCheckUtils]: 60: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(0 == ~cond); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,042 INFO L273 TraceCheckUtils]: 61: Hoare triple {6453#(<= ~SIZE~0 6)} assume true; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,043 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {6453#(<= ~SIZE~0 6)} {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} #67#return; {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:31,044 INFO L273 TraceCheckUtils]: 63: Hoare triple {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} havoc #t~mem4; {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} is VALID [2018-11-23 12:24:31,045 INFO L273 TraceCheckUtils]: 64: Hoare triple {6630#(and (<= ~SIZE~0 6) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,046 INFO L273 TraceCheckUtils]: 65: Hoare triple {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,047 INFO L256 TraceCheckUtils]: 66: Hoare triple {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,047 INFO L273 TraceCheckUtils]: 67: Hoare triple {6453#(<= ~SIZE~0 6)} ~cond := #in~cond; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,048 INFO L273 TraceCheckUtils]: 68: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(0 == ~cond); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,048 INFO L273 TraceCheckUtils]: 69: Hoare triple {6453#(<= ~SIZE~0 6)} assume true; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,049 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {6453#(<= ~SIZE~0 6)} {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} #67#return; {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,050 INFO L273 TraceCheckUtils]: 71: Hoare triple {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,051 INFO L273 TraceCheckUtils]: 72: Hoare triple {6655#(and (<= 4 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,052 INFO L273 TraceCheckUtils]: 73: Hoare triple {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,053 INFO L256 TraceCheckUtils]: 74: Hoare triple {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,054 INFO L273 TraceCheckUtils]: 75: Hoare triple {6453#(<= ~SIZE~0 6)} ~cond := #in~cond; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,054 INFO L273 TraceCheckUtils]: 76: Hoare triple {6453#(<= ~SIZE~0 6)} assume !(0 == ~cond); {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,055 INFO L273 TraceCheckUtils]: 77: Hoare triple {6453#(<= ~SIZE~0 6)} assume true; {6453#(<= ~SIZE~0 6)} is VALID [2018-11-23 12:24:31,055 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {6453#(<= ~SIZE~0 6)} {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} #67#return; {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,056 INFO L273 TraceCheckUtils]: 79: Hoare triple {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} havoc #t~mem4; {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} is VALID [2018-11-23 12:24:31,057 INFO L273 TraceCheckUtils]: 80: Hoare triple {6680#(and (<= 5 main_~i~0) (<= ~SIZE~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6705#(and (<= ~SIZE~0 6) (<= 6 main_~i~0))} is VALID [2018-11-23 12:24:31,058 INFO L273 TraceCheckUtils]: 81: Hoare triple {6705#(and (<= ~SIZE~0 6) (<= 6 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6446#false} is VALID [2018-11-23 12:24:31,058 INFO L256 TraceCheckUtils]: 82: Hoare triple {6446#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {6446#false} is VALID [2018-11-23 12:24:31,058 INFO L273 TraceCheckUtils]: 83: Hoare triple {6446#false} ~cond := #in~cond; {6446#false} is VALID [2018-11-23 12:24:31,058 INFO L273 TraceCheckUtils]: 84: Hoare triple {6446#false} assume 0 == ~cond; {6446#false} is VALID [2018-11-23 12:24:31,059 INFO L273 TraceCheckUtils]: 85: Hoare triple {6446#false} assume !false; {6446#false} is VALID [2018-11-23 12:24:31,067 INFO L134 CoverageAnalysis]: Checked inductivity of 210 backedges. 84 proven. 66 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:24:31,087 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:31,087 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 16] total 18 [2018-11-23 12:24:31,087 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 86 [2018-11-23 12:24:31,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:31,088 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:24:31,192 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:31,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:24:31,192 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:24:31,193 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=193, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:24:31,193 INFO L87 Difference]: Start difference. First operand 89 states and 91 transitions. Second operand 18 states. [2018-11-23 12:24:33,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:33,710 INFO L93 Difference]: Finished difference Result 164 states and 169 transitions. [2018-11-23 12:24:33,710 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:24:33,710 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 86 [2018-11-23 12:24:33,711 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:24:33,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:24:33,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2018-11-23 12:24:33,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:24:33,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2018-11-23 12:24:33,715 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 105 transitions. [2018-11-23 12:24:34,149 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:34,152 INFO L225 Difference]: With dead ends: 164 [2018-11-23 12:24:34,152 INFO L226 Difference]: Without dead ends: 95 [2018-11-23 12:24:34,152 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=125, Invalid=217, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:24:34,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2018-11-23 12:24:35,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 93. [2018-11-23 12:24:35,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:24:35,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 93 states. [2018-11-23 12:24:35,117 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 93 states. [2018-11-23 12:24:35,117 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 93 states. [2018-11-23 12:24:35,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:35,123 INFO L93 Difference]: Finished difference Result 95 states and 97 transitions. [2018-11-23 12:24:35,123 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 97 transitions. [2018-11-23 12:24:35,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:35,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:35,123 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 95 states. [2018-11-23 12:24:35,124 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 95 states. [2018-11-23 12:24:35,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:24:35,126 INFO L93 Difference]: Finished difference Result 95 states and 97 transitions. [2018-11-23 12:24:35,126 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 97 transitions. [2018-11-23 12:24:35,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:24:35,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:24:35,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:24:35,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:24:35,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-11-23 12:24:35,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 95 transitions. [2018-11-23 12:24:35,129 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 95 transitions. Word has length 86 [2018-11-23 12:24:35,130 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:24:35,130 INFO L480 AbstractCegarLoop]: Abstraction has 93 states and 95 transitions. [2018-11-23 12:24:35,130 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:24:35,130 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 95 transitions. [2018-11-23 12:24:35,131 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2018-11-23 12:24:35,131 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:24:35,131 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:24:35,132 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:24:35,132 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:24:35,132 INFO L82 PathProgramCache]: Analyzing trace with hash -97507372, now seen corresponding path program 11 times [2018-11-23 12:24:35,132 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:24:35,132 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:24:35,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:35,133 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:24:35,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:24:35,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:36,897 INFO L256 TraceCheckUtils]: 0: Hoare triple {7259#true} call ULTIMATE.init(); {7259#true} is VALID [2018-11-23 12:24:36,897 INFO L273 TraceCheckUtils]: 1: Hoare triple {7259#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7259#true} is VALID [2018-11-23 12:24:36,897 INFO L273 TraceCheckUtils]: 2: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:36,897 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7259#true} {7259#true} #63#return; {7259#true} is VALID [2018-11-23 12:24:36,897 INFO L256 TraceCheckUtils]: 4: Hoare triple {7259#true} call #t~ret5 := main(); {7259#true} is VALID [2018-11-23 12:24:36,898 INFO L273 TraceCheckUtils]: 5: Hoare triple {7259#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7259#true} is VALID [2018-11-23 12:24:36,898 INFO L273 TraceCheckUtils]: 6: Hoare triple {7259#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {7261#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:36,899 INFO L273 TraceCheckUtils]: 7: Hoare triple {7261#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {7261#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:36,899 INFO L273 TraceCheckUtils]: 8: Hoare triple {7261#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7261#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:36,900 INFO L273 TraceCheckUtils]: 9: Hoare triple {7261#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7262#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,901 INFO L273 TraceCheckUtils]: 10: Hoare triple {7262#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,901 INFO L273 TraceCheckUtils]: 11: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,903 INFO L273 TraceCheckUtils]: 12: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,904 INFO L273 TraceCheckUtils]: 13: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,905 INFO L273 TraceCheckUtils]: 14: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,906 INFO L273 TraceCheckUtils]: 15: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,908 INFO L273 TraceCheckUtils]: 16: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,909 INFO L273 TraceCheckUtils]: 17: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,910 INFO L273 TraceCheckUtils]: 18: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,911 INFO L273 TraceCheckUtils]: 19: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,912 INFO L273 TraceCheckUtils]: 20: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,914 INFO L273 TraceCheckUtils]: 21: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,915 INFO L273 TraceCheckUtils]: 22: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,916 INFO L273 TraceCheckUtils]: 23: Hoare triple {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,917 INFO L273 TraceCheckUtils]: 24: Hoare triple {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,919 INFO L273 TraceCheckUtils]: 25: Hoare triple {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,920 INFO L273 TraceCheckUtils]: 26: Hoare triple {7266#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 5) (<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (<= 7 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7267#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,921 INFO L273 TraceCheckUtils]: 27: Hoare triple {7267#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7267#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,923 INFO L273 TraceCheckUtils]: 28: Hoare triple {7267#(and (or (<= (+ (* 3 main_~i~0) |main_~#a~0.offset|) 2) (<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7268#(and (or (and (<= 1 main_~i~0) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,924 INFO L273 TraceCheckUtils]: 29: Hoare triple {7268#(and (or (and (<= 1 main_~i~0) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7268#(and (or (and (<= 1 main_~i~0) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,926 INFO L273 TraceCheckUtils]: 30: Hoare triple {7268#(and (or (and (<= 1 main_~i~0) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))) (<= 4 (+ (* 3 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7269#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))) (<= 0 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,927 INFO L273 TraceCheckUtils]: 31: Hoare triple {7269#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))) (<= 0 main_~i~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7269#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))) (<= 0 main_~i~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,928 INFO L273 TraceCheckUtils]: 32: Hoare triple {7269#(and (or (<= 1 (+ (* 3 main_~i~0) |main_~#a~0.offset|)) (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))) (<= 0 main_~i~0) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {7270#(and (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,930 INFO L273 TraceCheckUtils]: 33: Hoare triple {7270#(and (<= 6 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7271#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,930 INFO L273 TraceCheckUtils]: 34: Hoare triple {7271#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7271#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,931 INFO L273 TraceCheckUtils]: 35: Hoare triple {7271#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {7271#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,932 INFO L273 TraceCheckUtils]: 36: Hoare triple {7271#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,933 INFO L273 TraceCheckUtils]: 37: Hoare triple {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,933 INFO L256 TraceCheckUtils]: 38: Hoare triple {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7259#true} is VALID [2018-11-23 12:24:36,933 INFO L273 TraceCheckUtils]: 39: Hoare triple {7259#true} ~cond := #in~cond; {7273#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:24:36,934 INFO L273 TraceCheckUtils]: 40: Hoare triple {7273#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {7274#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:36,935 INFO L273 TraceCheckUtils]: 41: Hoare triple {7274#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7274#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:36,936 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7274#(not (= |__VERIFIER_assert_#in~cond| 0))} {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,936 INFO L273 TraceCheckUtils]: 43: Hoare triple {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,938 INFO L273 TraceCheckUtils]: 44: Hoare triple {7272#(and (<= 6 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,938 INFO L273 TraceCheckUtils]: 45: Hoare triple {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,939 INFO L256 TraceCheckUtils]: 46: Hoare triple {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7259#true} is VALID [2018-11-23 12:24:36,939 INFO L273 TraceCheckUtils]: 47: Hoare triple {7259#true} ~cond := #in~cond; {7259#true} is VALID [2018-11-23 12:24:36,939 INFO L273 TraceCheckUtils]: 48: Hoare triple {7259#true} assume !(0 == ~cond); {7259#true} is VALID [2018-11-23 12:24:36,939 INFO L273 TraceCheckUtils]: 49: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:36,940 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7259#true} {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} #67#return; {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,941 INFO L273 TraceCheckUtils]: 51: Hoare triple {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,942 INFO L273 TraceCheckUtils]: 52: Hoare triple {7275#(and (<= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,943 INFO L273 TraceCheckUtils]: 53: Hoare triple {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,943 INFO L256 TraceCheckUtils]: 54: Hoare triple {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7259#true} is VALID [2018-11-23 12:24:36,944 INFO L273 TraceCheckUtils]: 55: Hoare triple {7259#true} ~cond := #in~cond; {7259#true} is VALID [2018-11-23 12:24:36,944 INFO L273 TraceCheckUtils]: 56: Hoare triple {7259#true} assume !(0 == ~cond); {7259#true} is VALID [2018-11-23 12:24:36,944 INFO L273 TraceCheckUtils]: 57: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:36,945 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7259#true} {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} #67#return; {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,946 INFO L273 TraceCheckUtils]: 59: Hoare triple {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,947 INFO L273 TraceCheckUtils]: 60: Hoare triple {7276#(and (<= (+ main_~i~0 4) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,948 INFO L273 TraceCheckUtils]: 61: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,948 INFO L256 TraceCheckUtils]: 62: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7259#true} is VALID [2018-11-23 12:24:36,949 INFO L273 TraceCheckUtils]: 63: Hoare triple {7259#true} ~cond := #in~cond; {7259#true} is VALID [2018-11-23 12:24:36,949 INFO L273 TraceCheckUtils]: 64: Hoare triple {7259#true} assume !(0 == ~cond); {7259#true} is VALID [2018-11-23 12:24:36,949 INFO L273 TraceCheckUtils]: 65: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:36,950 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {7259#true} {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #67#return; {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,951 INFO L273 TraceCheckUtils]: 67: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,952 INFO L273 TraceCheckUtils]: 68: Hoare triple {7265#(and (<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,952 INFO L273 TraceCheckUtils]: 69: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,952 INFO L256 TraceCheckUtils]: 70: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7259#true} is VALID [2018-11-23 12:24:36,952 INFO L273 TraceCheckUtils]: 71: Hoare triple {7259#true} ~cond := #in~cond; {7259#true} is VALID [2018-11-23 12:24:36,953 INFO L273 TraceCheckUtils]: 72: Hoare triple {7259#true} assume !(0 == ~cond); {7259#true} is VALID [2018-11-23 12:24:36,953 INFO L273 TraceCheckUtils]: 73: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:36,953 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {7259#true} {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #67#return; {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,954 INFO L273 TraceCheckUtils]: 75: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,955 INFO L273 TraceCheckUtils]: 76: Hoare triple {7264#(and (<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,956 INFO L273 TraceCheckUtils]: 77: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,956 INFO L256 TraceCheckUtils]: 78: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7259#true} is VALID [2018-11-23 12:24:36,957 INFO L273 TraceCheckUtils]: 79: Hoare triple {7259#true} ~cond := #in~cond; {7259#true} is VALID [2018-11-23 12:24:36,957 INFO L273 TraceCheckUtils]: 80: Hoare triple {7259#true} assume !(0 == ~cond); {7259#true} is VALID [2018-11-23 12:24:36,957 INFO L273 TraceCheckUtils]: 81: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:36,958 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {7259#true} {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #67#return; {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,959 INFO L273 TraceCheckUtils]: 83: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,960 INFO L273 TraceCheckUtils]: 84: Hoare triple {7263#(and (<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1))))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7277#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:36,961 INFO L273 TraceCheckUtils]: 85: Hoare triple {7277#(and (<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7278#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:24:36,962 INFO L256 TraceCheckUtils]: 86: Hoare triple {7278#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7274#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:24:36,963 INFO L273 TraceCheckUtils]: 87: Hoare triple {7274#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7279#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:24:36,963 INFO L273 TraceCheckUtils]: 88: Hoare triple {7279#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7260#false} is VALID [2018-11-23 12:24:36,963 INFO L273 TraceCheckUtils]: 89: Hoare triple {7260#false} assume !false; {7260#false} is VALID [2018-11-23 12:24:36,991 INFO L134 CoverageAnalysis]: Checked inductivity of 235 backedges. 34 proven. 156 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-23 12:24:36,991 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:24:36,991 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:24:37,000 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:24:37,076 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-23 12:24:37,076 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:24:37,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:24:37,097 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:24:37,138 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:24:37,145 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:24:37,149 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,154 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,162 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,163 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:24:37,237 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 28 [2018-11-23 12:24:37,245 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,247 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,248 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 58 [2018-11-23 12:24:37,256 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,266 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,275 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,275 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:36, output treesize:32 [2018-11-23 12:24:37,352 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 37 [2018-11-23 12:24:37,363 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,364 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,367 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,369 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,370 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,371 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 128 [2018-11-23 12:24:37,377 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,400 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,413 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,414 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:24:37,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 51 [2018-11-23 12:24:37,590 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,591 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,592 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,593 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,594 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,596 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,597 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,598 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,600 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,601 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,603 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,605 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 245 [2018-11-23 12:24:37,612 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,653 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,667 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,668 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:63, output treesize:59 [2018-11-23 12:24:37,779 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,780 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 70 [2018-11-23 12:24:37,803 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,804 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,806 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,807 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,809 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,810 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,814 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,815 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,817 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,819 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,820 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,822 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,824 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,826 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:37,827 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 291 [2018-11-23 12:24:37,840 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,890 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,907 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:37,907 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:74, output treesize:57 [2018-11-23 12:24:37,915 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:37,915 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_42| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= |#memory_int| (store |v_#memory_int_42| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:37,916 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:38,111 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 74 treesize of output 63 [2018-11-23 12:24:38,126 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,127 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,128 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,129 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,131 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,132 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,133 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,135 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,137 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,138 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,140 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,141 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,143 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,144 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,146 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,147 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,149 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,150 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,151 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,153 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 394 [2018-11-23 12:24:38,167 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:38,231 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:38,252 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:38,252 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:77, output treesize:73 [2018-11-23 12:24:38,376 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,377 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 82 [2018-11-23 12:24:38,403 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,405 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,406 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,408 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,409 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,411 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,412 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,414 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,415 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,417 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,419 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,421 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,423 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,424 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,426 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,428 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,430 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,432 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,434 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,436 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,438 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,440 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,441 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,443 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 25 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 454 [2018-11-23 12:24:38,456 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:38,533 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:38,551 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:38,552 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:88, output treesize:71 [2018-11-23 12:24:38,561 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:38,561 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_44| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 2) (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |#memory_int| (store |v_#memory_int_44| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= (+ (select .cse0 .cse2) 1) main_~i~0) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:38,561 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:38,827 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 75 [2018-11-23 12:24:38,845 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,848 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,851 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,854 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,856 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,859 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,861 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,864 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,867 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,869 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,872 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,874 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,877 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,880 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,883 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,886 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,888 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,891 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,894 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,896 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,899 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,902 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,904 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,907 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,910 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,913 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,915 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,917 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:38,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 30 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 579 [2018-11-23 12:24:38,934 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:39,056 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:39,082 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:39,082 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:91, output treesize:87 [2018-11-23 12:24:39,247 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,248 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 94 [2018-11-23 12:24:39,276 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,277 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,280 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,281 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,282 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,285 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,286 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,287 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,288 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,290 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,291 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,292 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,293 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,295 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,297 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,298 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,303 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,305 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,308 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,314 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,315 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,317 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,318 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,320 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,321 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,323 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,326 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 36 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 653 [2018-11-23 12:24:39,337 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:39,460 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:39,482 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:39,483 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:102, output treesize:85 [2018-11-23 12:24:39,493 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:39,494 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_46| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ (select .cse0 .cse2) 1) main_~i~0) (= (store |v_#memory_int_46| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 4) (select .cse0 (+ .cse1 |main_~#a~0.offset| 16))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= (+ main_~i~0 2) (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:39,494 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:39,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 87 [2018-11-23 12:24:39,908 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,909 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,912 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,913 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,914 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,915 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,917 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,918 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,921 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,924 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,925 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,926 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,927 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,929 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,930 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,931 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,932 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,934 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,936 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,937 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,939 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,940 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,941 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,943 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,944 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,946 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,948 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,949 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,951 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,952 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,954 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,955 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,957 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,958 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,960 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,961 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,963 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,964 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:39,966 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 42 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 87 treesize of output 800 [2018-11-23 12:24:39,976 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:40,134 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:40,161 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:40,161 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:105, output treesize:101 [2018-11-23 12:24:40,343 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,344 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 113 treesize of output 106 [2018-11-23 12:24:40,362 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,363 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,366 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,368 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,369 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,371 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,373 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,374 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,376 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,378 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,379 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,381 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,382 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,384 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,386 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,387 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,389 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,391 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,392 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,394 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,396 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,398 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,400 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,402 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,436 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,449 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,451 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,452 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,453 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,455 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,456 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,458 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,460 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,462 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,464 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,466 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,468 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,469 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,471 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,473 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,475 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,477 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,479 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,481 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,483 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,484 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,486 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:40,487 INFO L303 Elim1Store]: Index analysis took 128 ms [2018-11-23 12:24:40,489 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 49 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 106 treesize of output 888 [2018-11-23 12:24:40,494 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:40,679 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:40,723 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:40,723 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:116, output treesize:99 [2018-11-23 12:24:40,732 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:40,733 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_48|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_48| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (+ (select .cse0 .cse2) 1) main_~i~0) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |#memory_int| (store |v_#memory_int_48| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:40,733 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:24:41,205 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,206 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 113 treesize of output 106 [2018-11-23 12:24:41,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,226 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,228 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,229 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,231 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,232 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,234 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,235 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,237 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,238 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,240 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,241 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,243 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,244 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,246 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,247 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,249 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,250 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,251 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,253 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,255 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,257 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,258 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,260 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,264 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,267 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,270 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,272 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,274 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,276 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,279 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,281 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,283 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,285 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,287 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,288 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,290 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,292 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,294 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,296 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,298 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:41,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 49 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 106 treesize of output 888 [2018-11-23 12:24:41,309 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:41,489 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:41,525 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:24:41,526 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:122, output treesize:105 [2018-11-23 12:24:41,547 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:41,548 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, main_~i~0]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_49| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (+ main_~i~0 2) (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (< main_~i~0 1) (<= 0 main_~i~0) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (+ main_~i~0 4) (select .cse0 (+ .cse1 |main_~#a~0.offset| 16))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |#memory_int| (store |v_#memory_int_49| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:24:41,548 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~i~0]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:24:51,496 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 97 treesize of output 81 [2018-11-23 12:24:51,522 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,523 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,523 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,526 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,527 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,529 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,530 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,531 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,532 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,533 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,535 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,536 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,538 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,539 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,541 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,542 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,543 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,544 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,546 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,548 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,549 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:24:51,550 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,551 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,553 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,554 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,556 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,557 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,559 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,560 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,562 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,565 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,567 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,568 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,570 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,572 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,575 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,576 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,578 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,579 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,581 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,582 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,583 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:24:51,587 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 8 select indices, 8 select index equivalence classes, 42 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 449 [2018-11-23 12:24:51,594 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:24:51,696 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:51,707 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:24:51,708 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:106, output treesize:7 [2018-11-23 12:24:51,714 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:24:51,715 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_prenex_23]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 v_prenex_23))) (and (= v_prenex_23 (select .cse0 .cse1)) (<= 0 v_prenex_23) (= (+ v_prenex_23 2) (select .cse0 (+ .cse1 8))) (< v_prenex_23 1) (= (+ v_prenex_23 4) (select .cse0 (+ .cse1 16))) (= (+ v_prenex_23 1) (select .cse0 (+ .cse1 4))) (= (+ v_prenex_23 6) (select .cse0 (+ .cse1 24))) (= main_~i~0 6) (= (+ v_prenex_23 3) (select .cse0 (+ .cse1 12))) (<= (select .cse0 (* 4 main_~i~0)) |main_#t~mem4|) (= (select .cse0 (+ .cse1 20)) (+ v_prenex_23 5)))) [2018-11-23 12:24:51,715 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 6) (<= 6 |main_#t~mem4|)) [2018-11-23 12:24:51,843 INFO L256 TraceCheckUtils]: 0: Hoare triple {7259#true} call ULTIMATE.init(); {7259#true} is VALID [2018-11-23 12:24:51,843 INFO L273 TraceCheckUtils]: 1: Hoare triple {7259#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {7259#true} is VALID [2018-11-23 12:24:51,844 INFO L273 TraceCheckUtils]: 2: Hoare triple {7259#true} assume true; {7259#true} is VALID [2018-11-23 12:24:51,844 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7259#true} {7259#true} #63#return; {7259#true} is VALID [2018-11-23 12:24:51,844 INFO L256 TraceCheckUtils]: 4: Hoare triple {7259#true} call #t~ret5 := main(); {7259#true} is VALID [2018-11-23 12:24:51,844 INFO L273 TraceCheckUtils]: 5: Hoare triple {7259#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7259#true} is VALID [2018-11-23 12:24:51,845 INFO L273 TraceCheckUtils]: 6: Hoare triple {7259#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {7261#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:51,845 INFO L273 TraceCheckUtils]: 7: Hoare triple {7261#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {7261#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:51,846 INFO L273 TraceCheckUtils]: 8: Hoare triple {7261#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7261#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:24:51,846 INFO L273 TraceCheckUtils]: 9: Hoare triple {7261#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7262#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,847 INFO L273 TraceCheckUtils]: 10: Hoare triple {7262#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7313#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,848 INFO L273 TraceCheckUtils]: 11: Hoare triple {7313#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7313#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,849 INFO L273 TraceCheckUtils]: 12: Hoare triple {7313#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7320#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,850 INFO L273 TraceCheckUtils]: 13: Hoare triple {7320#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7324#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,852 INFO L273 TraceCheckUtils]: 14: Hoare triple {7324#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7328#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,853 INFO L273 TraceCheckUtils]: 15: Hoare triple {7328#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7328#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,855 INFO L273 TraceCheckUtils]: 16: Hoare triple {7328#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7335#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,857 INFO L273 TraceCheckUtils]: 17: Hoare triple {7335#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7339#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,860 INFO L273 TraceCheckUtils]: 18: Hoare triple {7339#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7343#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,861 INFO L273 TraceCheckUtils]: 19: Hoare triple {7343#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7343#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,863 INFO L273 TraceCheckUtils]: 20: Hoare triple {7343#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7350#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,866 INFO L273 TraceCheckUtils]: 21: Hoare triple {7350#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7354#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,869 INFO L273 TraceCheckUtils]: 22: Hoare triple {7354#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7358#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,870 INFO L273 TraceCheckUtils]: 23: Hoare triple {7358#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7358#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,888 INFO L273 TraceCheckUtils]: 24: Hoare triple {7358#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7365#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,891 INFO L273 TraceCheckUtils]: 25: Hoare triple {7365#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7369#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,894 INFO L273 TraceCheckUtils]: 26: Hoare triple {7369#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7373#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,894 INFO L273 TraceCheckUtils]: 27: Hoare triple {7373#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7373#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,897 INFO L273 TraceCheckUtils]: 28: Hoare triple {7373#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {7380#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,898 INFO L273 TraceCheckUtils]: 29: Hoare triple {7380#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7384#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,903 INFO L273 TraceCheckUtils]: 30: Hoare triple {7384#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7388#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,904 INFO L273 TraceCheckUtils]: 31: Hoare triple {7388#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {7392#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,905 INFO L273 TraceCheckUtils]: 32: Hoare triple {7392#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {7396#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,907 INFO L273 TraceCheckUtils]: 33: Hoare triple {7396#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7400#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,908 INFO L273 TraceCheckUtils]: 34: Hoare triple {7400#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {7400#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,909 INFO L273 TraceCheckUtils]: 35: Hoare triple {7400#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {7400#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,912 INFO L273 TraceCheckUtils]: 36: Hoare triple {7400#(and (exists ((main_~i~0 Int)) (and (<= 0 main_~i~0) (< main_~i~0 1) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,914 INFO L273 TraceCheckUtils]: 37: Hoare triple {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,967 INFO L256 TraceCheckUtils]: 38: Hoare triple {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,971 INFO L273 TraceCheckUtils]: 39: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} ~cond := #in~cond; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,971 INFO L273 TraceCheckUtils]: 40: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume !(0 == ~cond); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,973 INFO L273 TraceCheckUtils]: 41: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume true; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,973 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,975 INFO L273 TraceCheckUtils]: 43: Hoare triple {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,976 INFO L273 TraceCheckUtils]: 44: Hoare triple {7410#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,977 INFO L273 TraceCheckUtils]: 45: Hoare triple {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,980 INFO L256 TraceCheckUtils]: 46: Hoare triple {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,980 INFO L273 TraceCheckUtils]: 47: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} ~cond := #in~cond; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,981 INFO L273 TraceCheckUtils]: 48: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume !(0 == ~cond); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,981 INFO L273 TraceCheckUtils]: 49: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume true; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,982 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,983 INFO L273 TraceCheckUtils]: 51: Hoare triple {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,984 INFO L273 TraceCheckUtils]: 52: Hoare triple {7436#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,985 INFO L273 TraceCheckUtils]: 53: Hoare triple {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,989 INFO L256 TraceCheckUtils]: 54: Hoare triple {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,989 INFO L273 TraceCheckUtils]: 55: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} ~cond := #in~cond; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,990 INFO L273 TraceCheckUtils]: 56: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume !(0 == ~cond); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,991 INFO L273 TraceCheckUtils]: 57: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume true; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,991 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} #67#return; {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,992 INFO L273 TraceCheckUtils]: 59: Hoare triple {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,993 INFO L273 TraceCheckUtils]: 60: Hoare triple {7461#(and (= main_~i~0 2) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,994 INFO L273 TraceCheckUtils]: 61: Hoare triple {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:51,997 INFO L256 TraceCheckUtils]: 62: Hoare triple {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,998 INFO L273 TraceCheckUtils]: 63: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} ~cond := #in~cond; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,999 INFO L273 TraceCheckUtils]: 64: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume !(0 == ~cond); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:51,999 INFO L273 TraceCheckUtils]: 65: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume true; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,000 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} #67#return; {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,001 INFO L273 TraceCheckUtils]: 67: Hoare triple {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,002 INFO L273 TraceCheckUtils]: 68: Hoare triple {7486#(and (= main_~i~0 3) (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,004 INFO L273 TraceCheckUtils]: 69: Hoare triple {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,007 INFO L256 TraceCheckUtils]: 70: Hoare triple {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,007 INFO L273 TraceCheckUtils]: 71: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} ~cond := #in~cond; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,008 INFO L273 TraceCheckUtils]: 72: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume !(0 == ~cond); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,008 INFO L273 TraceCheckUtils]: 73: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume true; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,009 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #67#return; {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,010 INFO L273 TraceCheckUtils]: 75: Hoare triple {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,011 INFO L273 TraceCheckUtils]: 76: Hoare triple {7511#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,012 INFO L273 TraceCheckUtils]: 77: Hoare triple {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,016 INFO L256 TraceCheckUtils]: 78: Hoare triple {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,016 INFO L273 TraceCheckUtils]: 79: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} ~cond := #in~cond; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,035 INFO L273 TraceCheckUtils]: 80: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume !(0 == ~cond); {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,044 INFO L273 TraceCheckUtils]: 81: Hoare triple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} assume true; {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} is VALID [2018-11-23 12:24:52,049 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {7417#(exists ((v_prenex_23 Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 0 v_prenex_23) (= (+ v_prenex_23 5) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 20))) (= (+ v_prenex_23 4) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 16))) (= (+ v_prenex_23 2) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 8))) (< v_prenex_23 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 6) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 24))) (= (+ v_prenex_23 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_prenex_23) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (* 4 v_prenex_23)) v_prenex_23)))} {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #67#return; {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,050 INFO L273 TraceCheckUtils]: 83: Hoare triple {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,052 INFO L273 TraceCheckUtils]: 84: Hoare triple {7536#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {7561#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:24:52,053 INFO L273 TraceCheckUtils]: 85: Hoare triple {7561#(and (exists ((v_prenex_23 Int)) (and (= v_prenex_23 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset|))) (<= 0 v_prenex_23) (< v_prenex_23 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 12)) (+ v_prenex_23 3)) (= (+ v_prenex_23 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 20))) (= (+ v_prenex_23 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 16)) (+ v_prenex_23 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 24)) (+ v_prenex_23 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_prenex_23) |main_~#a~0.offset| 8)) (+ v_prenex_23 2)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7565#(and (= main_~i~0 6) (<= 6 |main_#t~mem4|))} is VALID [2018-11-23 12:24:52,054 INFO L256 TraceCheckUtils]: 86: Hoare triple {7565#(and (= main_~i~0 6) (<= 6 |main_#t~mem4|))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {7569#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:24:52,055 INFO L273 TraceCheckUtils]: 87: Hoare triple {7569#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7573#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:24:52,055 INFO L273 TraceCheckUtils]: 88: Hoare triple {7573#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7260#false} is VALID [2018-11-23 12:24:52,056 INFO L273 TraceCheckUtils]: 89: Hoare triple {7260#false} assume !false; {7260#false} is VALID [2018-11-23 12:24:52,151 INFO L134 CoverageAnalysis]: Checked inductivity of 235 backedges. 74 proven. 101 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-23 12:24:52,170 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:24:52,170 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 34] total 51 [2018-11-23 12:24:52,171 INFO L78 Accepts]: Start accepts. Automaton has 51 states. Word has length 90 [2018-11-23 12:24:52,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:24:52,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 51 states. [2018-11-23 12:24:52,491 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:24:52,491 INFO L459 AbstractCegarLoop]: Interpolant automaton has 51 states [2018-11-23 12:24:52,492 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 51 interpolants. [2018-11-23 12:24:52,493 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=421, Invalid=2129, Unknown=0, NotChecked=0, Total=2550 [2018-11-23 12:24:52,493 INFO L87 Difference]: Start difference. First operand 93 states and 95 transitions. Second operand 51 states. [2018-11-23 12:25:08,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:08,024 INFO L93 Difference]: Finished difference Result 199 states and 209 transitions. [2018-11-23 12:25:08,024 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2018-11-23 12:25:08,024 INFO L78 Accepts]: Start accepts. Automaton has 51 states. Word has length 90 [2018-11-23 12:25:08,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:25:08,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:25:08,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 173 transitions. [2018-11-23 12:25:08,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:25:08,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 173 transitions. [2018-11-23 12:25:08,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 85 states and 173 transitions. [2018-11-23 12:25:08,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:08,896 INFO L225 Difference]: With dead ends: 199 [2018-11-23 12:25:08,896 INFO L226 Difference]: Without dead ends: 197 [2018-11-23 12:25:08,900 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 190 GetRequests, 52 SyntacticMatches, 25 SemanticMatches, 113 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4660 ImplicationChecksByTransitivity, 9.7s TimeCoverageRelationStatistics Valid=1636, Invalid=11474, Unknown=0, NotChecked=0, Total=13110 [2018-11-23 12:25:08,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2018-11-23 12:25:10,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 101. [2018-11-23 12:25:10,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:25:10,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand 101 states. [2018-11-23 12:25:10,335 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand 101 states. [2018-11-23 12:25:10,335 INFO L87 Difference]: Start difference. First operand 197 states. Second operand 101 states. [2018-11-23 12:25:10,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:10,341 INFO L93 Difference]: Finished difference Result 197 states and 206 transitions. [2018-11-23 12:25:10,341 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 206 transitions. [2018-11-23 12:25:10,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:10,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:10,342 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 197 states. [2018-11-23 12:25:10,342 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 197 states. [2018-11-23 12:25:10,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:10,347 INFO L93 Difference]: Finished difference Result 197 states and 206 transitions. [2018-11-23 12:25:10,347 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 206 transitions. [2018-11-23 12:25:10,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:10,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:10,348 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:25:10,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:25:10,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2018-11-23 12:25:10,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 103 transitions. [2018-11-23 12:25:10,350 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 103 transitions. Word has length 90 [2018-11-23 12:25:10,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:25:10,351 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 103 transitions. [2018-11-23 12:25:10,351 INFO L481 AbstractCegarLoop]: Interpolant automaton has 51 states. [2018-11-23 12:25:10,351 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 103 transitions. [2018-11-23 12:25:10,352 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2018-11-23 12:25:10,352 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:25:10,352 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:25:10,352 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:25:10,352 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:25:10,353 INFO L82 PathProgramCache]: Analyzing trace with hash 833296263, now seen corresponding path program 12 times [2018-11-23 12:25:10,353 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:25:10,353 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:25:10,353 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:10,354 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:25:10,354 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:10,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:10,636 INFO L256 TraceCheckUtils]: 0: Hoare triple {8504#true} call ULTIMATE.init(); {8504#true} is VALID [2018-11-23 12:25:10,636 INFO L273 TraceCheckUtils]: 1: Hoare triple {8504#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {8504#true} is VALID [2018-11-23 12:25:10,636 INFO L273 TraceCheckUtils]: 2: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,636 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8504#true} {8504#true} #63#return; {8504#true} is VALID [2018-11-23 12:25:10,637 INFO L256 TraceCheckUtils]: 4: Hoare triple {8504#true} call #t~ret5 := main(); {8504#true} is VALID [2018-11-23 12:25:10,637 INFO L273 TraceCheckUtils]: 5: Hoare triple {8504#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {8504#true} is VALID [2018-11-23 12:25:10,638 INFO L273 TraceCheckUtils]: 6: Hoare triple {8504#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,638 INFO L273 TraceCheckUtils]: 7: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,639 INFO L273 TraceCheckUtils]: 8: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,639 INFO L273 TraceCheckUtils]: 9: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,639 INFO L273 TraceCheckUtils]: 10: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,640 INFO L273 TraceCheckUtils]: 11: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,640 INFO L273 TraceCheckUtils]: 12: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,640 INFO L273 TraceCheckUtils]: 13: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,641 INFO L273 TraceCheckUtils]: 14: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,641 INFO L273 TraceCheckUtils]: 15: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,642 INFO L273 TraceCheckUtils]: 16: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,642 INFO L273 TraceCheckUtils]: 17: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,643 INFO L273 TraceCheckUtils]: 18: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,643 INFO L273 TraceCheckUtils]: 19: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,644 INFO L273 TraceCheckUtils]: 20: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,644 INFO L273 TraceCheckUtils]: 21: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,645 INFO L273 TraceCheckUtils]: 22: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,646 INFO L273 TraceCheckUtils]: 23: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,646 INFO L273 TraceCheckUtils]: 24: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,647 INFO L273 TraceCheckUtils]: 25: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,647 INFO L273 TraceCheckUtils]: 26: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,648 INFO L273 TraceCheckUtils]: 27: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,648 INFO L273 TraceCheckUtils]: 28: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,649 INFO L273 TraceCheckUtils]: 29: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,650 INFO L273 TraceCheckUtils]: 30: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8512#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:10,650 INFO L273 TraceCheckUtils]: 31: Hoare triple {8512#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0); {8512#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:10,651 INFO L273 TraceCheckUtils]: 32: Hoare triple {8512#(<= ~SIZE~0 (+ main_~i~0 7))} assume !(~i~0 - 1 >= 0); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:10,651 INFO L273 TraceCheckUtils]: 33: Hoare triple {8513#(<= ~SIZE~0 7)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:10,652 INFO L273 TraceCheckUtils]: 34: Hoare triple {8513#(<= ~SIZE~0 7)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:10,652 INFO L273 TraceCheckUtils]: 35: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(~i~0 >= 0); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:10,653 INFO L273 TraceCheckUtils]: 36: Hoare triple {8513#(<= ~SIZE~0 7)} ~i~0 := 0; {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:25:10,654 INFO L273 TraceCheckUtils]: 37: Hoare triple {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:25:10,654 INFO L256 TraceCheckUtils]: 38: Hoare triple {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,654 INFO L273 TraceCheckUtils]: 39: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,654 INFO L273 TraceCheckUtils]: 40: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,654 INFO L273 TraceCheckUtils]: 41: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,655 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {8504#true} {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} #67#return; {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:25:10,656 INFO L273 TraceCheckUtils]: 43: Hoare triple {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} havoc #t~mem4; {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} is VALID [2018-11-23 12:25:10,656 INFO L273 TraceCheckUtils]: 44: Hoare triple {8514#(and (<= ~SIZE~0 7) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,657 INFO L273 TraceCheckUtils]: 45: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,657 INFO L256 TraceCheckUtils]: 46: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,657 INFO L273 TraceCheckUtils]: 47: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,658 INFO L273 TraceCheckUtils]: 48: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,658 INFO L273 TraceCheckUtils]: 49: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,658 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {8504#true} {8511#(<= ~SIZE~0 (+ main_~i~0 6))} #67#return; {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,659 INFO L273 TraceCheckUtils]: 51: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} havoc #t~mem4; {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:10,660 INFO L273 TraceCheckUtils]: 52: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,660 INFO L273 TraceCheckUtils]: 53: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,660 INFO L256 TraceCheckUtils]: 54: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,661 INFO L273 TraceCheckUtils]: 55: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,661 INFO L273 TraceCheckUtils]: 56: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,661 INFO L273 TraceCheckUtils]: 57: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,662 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {8504#true} {8510#(<= ~SIZE~0 (+ main_~i~0 5))} #67#return; {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,662 INFO L273 TraceCheckUtils]: 59: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:10,663 INFO L273 TraceCheckUtils]: 60: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,663 INFO L273 TraceCheckUtils]: 61: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,664 INFO L256 TraceCheckUtils]: 62: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,664 INFO L273 TraceCheckUtils]: 63: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,664 INFO L273 TraceCheckUtils]: 64: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,664 INFO L273 TraceCheckUtils]: 65: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,665 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {8504#true} {8509#(<= ~SIZE~0 (+ main_~i~0 4))} #67#return; {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,665 INFO L273 TraceCheckUtils]: 67: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:10,666 INFO L273 TraceCheckUtils]: 68: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,667 INFO L273 TraceCheckUtils]: 69: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,667 INFO L256 TraceCheckUtils]: 70: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,667 INFO L273 TraceCheckUtils]: 71: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,667 INFO L273 TraceCheckUtils]: 72: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,667 INFO L273 TraceCheckUtils]: 73: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,668 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {8504#true} {8508#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,668 INFO L273 TraceCheckUtils]: 75: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:10,669 INFO L273 TraceCheckUtils]: 76: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,670 INFO L273 TraceCheckUtils]: 77: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,670 INFO L256 TraceCheckUtils]: 78: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,670 INFO L273 TraceCheckUtils]: 79: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,670 INFO L273 TraceCheckUtils]: 80: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,671 INFO L273 TraceCheckUtils]: 81: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,671 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {8504#true} {8507#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,672 INFO L273 TraceCheckUtils]: 83: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:10,672 INFO L273 TraceCheckUtils]: 84: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,673 INFO L273 TraceCheckUtils]: 85: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,673 INFO L256 TraceCheckUtils]: 86: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8504#true} is VALID [2018-11-23 12:25:10,673 INFO L273 TraceCheckUtils]: 87: Hoare triple {8504#true} ~cond := #in~cond; {8504#true} is VALID [2018-11-23 12:25:10,674 INFO L273 TraceCheckUtils]: 88: Hoare triple {8504#true} assume !(0 == ~cond); {8504#true} is VALID [2018-11-23 12:25:10,674 INFO L273 TraceCheckUtils]: 89: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:10,674 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {8504#true} {8506#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,675 INFO L273 TraceCheckUtils]: 91: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:10,676 INFO L273 TraceCheckUtils]: 92: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8515#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:25:10,676 INFO L273 TraceCheckUtils]: 93: Hoare triple {8515#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8505#false} is VALID [2018-11-23 12:25:10,677 INFO L256 TraceCheckUtils]: 94: Hoare triple {8505#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8505#false} is VALID [2018-11-23 12:25:10,677 INFO L273 TraceCheckUtils]: 95: Hoare triple {8505#false} ~cond := #in~cond; {8505#false} is VALID [2018-11-23 12:25:10,677 INFO L273 TraceCheckUtils]: 96: Hoare triple {8505#false} assume 0 == ~cond; {8505#false} is VALID [2018-11-23 12:25:10,677 INFO L273 TraceCheckUtils]: 97: Hoare triple {8505#false} assume !false; {8505#false} is VALID [2018-11-23 12:25:10,686 INFO L134 CoverageAnalysis]: Checked inductivity of 287 backedges. 87 proven. 116 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-23 12:25:10,686 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:25:10,686 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:25:10,695 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:25:10,831 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2018-11-23 12:25:10,831 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:25:10,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:10,856 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:25:11,139 INFO L256 TraceCheckUtils]: 0: Hoare triple {8504#true} call ULTIMATE.init(); {8504#true} is VALID [2018-11-23 12:25:11,139 INFO L273 TraceCheckUtils]: 1: Hoare triple {8504#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {8504#true} is VALID [2018-11-23 12:25:11,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {8504#true} assume true; {8504#true} is VALID [2018-11-23 12:25:11,140 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8504#true} {8504#true} #63#return; {8504#true} is VALID [2018-11-23 12:25:11,140 INFO L256 TraceCheckUtils]: 4: Hoare triple {8504#true} call #t~ret5 := main(); {8504#true} is VALID [2018-11-23 12:25:11,140 INFO L273 TraceCheckUtils]: 5: Hoare triple {8504#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {8504#true} is VALID [2018-11-23 12:25:11,141 INFO L273 TraceCheckUtils]: 6: Hoare triple {8504#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:11,141 INFO L273 TraceCheckUtils]: 7: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:11,142 INFO L273 TraceCheckUtils]: 8: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:11,142 INFO L273 TraceCheckUtils]: 9: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8506#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:25:11,143 INFO L273 TraceCheckUtils]: 10: Hoare triple {8506#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:11,143 INFO L273 TraceCheckUtils]: 11: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:11,143 INFO L273 TraceCheckUtils]: 12: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:11,144 INFO L273 TraceCheckUtils]: 13: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8507#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:25:11,145 INFO L273 TraceCheckUtils]: 14: Hoare triple {8507#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:11,145 INFO L273 TraceCheckUtils]: 15: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:11,146 INFO L273 TraceCheckUtils]: 16: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:11,146 INFO L273 TraceCheckUtils]: 17: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8508#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:25:11,147 INFO L273 TraceCheckUtils]: 18: Hoare triple {8508#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:11,148 INFO L273 TraceCheckUtils]: 19: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:11,148 INFO L273 TraceCheckUtils]: 20: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:11,149 INFO L273 TraceCheckUtils]: 21: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8509#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:25:11,149 INFO L273 TraceCheckUtils]: 22: Hoare triple {8509#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:11,150 INFO L273 TraceCheckUtils]: 23: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:11,151 INFO L273 TraceCheckUtils]: 24: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:11,151 INFO L273 TraceCheckUtils]: 25: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8510#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:25:11,152 INFO L273 TraceCheckUtils]: 26: Hoare triple {8510#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:11,152 INFO L273 TraceCheckUtils]: 27: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:11,153 INFO L273 TraceCheckUtils]: 28: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:11,153 INFO L273 TraceCheckUtils]: 29: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8511#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:25:11,154 INFO L273 TraceCheckUtils]: 30: Hoare triple {8511#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8512#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:11,155 INFO L273 TraceCheckUtils]: 31: Hoare triple {8512#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0); {8512#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:25:11,156 INFO L273 TraceCheckUtils]: 32: Hoare triple {8512#(<= ~SIZE~0 (+ main_~i~0 7))} assume !(~i~0 - 1 >= 0); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,156 INFO L273 TraceCheckUtils]: 33: Hoare triple {8513#(<= ~SIZE~0 7)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,157 INFO L273 TraceCheckUtils]: 34: Hoare triple {8513#(<= ~SIZE~0 7)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,157 INFO L273 TraceCheckUtils]: 35: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(~i~0 >= 0); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,158 INFO L273 TraceCheckUtils]: 36: Hoare triple {8513#(<= ~SIZE~0 7)} ~i~0 := 0; {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,158 INFO L273 TraceCheckUtils]: 37: Hoare triple {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,159 INFO L256 TraceCheckUtils]: 38: Hoare triple {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,160 INFO L273 TraceCheckUtils]: 39: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,160 INFO L273 TraceCheckUtils]: 40: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,161 INFO L273 TraceCheckUtils]: 41: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,162 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,162 INFO L273 TraceCheckUtils]: 43: Hoare triple {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,163 INFO L273 TraceCheckUtils]: 44: Hoare triple {8627#(and (<= 0 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,164 INFO L273 TraceCheckUtils]: 45: Hoare triple {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,165 INFO L256 TraceCheckUtils]: 46: Hoare triple {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,165 INFO L273 TraceCheckUtils]: 47: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,166 INFO L273 TraceCheckUtils]: 48: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,166 INFO L273 TraceCheckUtils]: 49: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,167 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,168 INFO L273 TraceCheckUtils]: 51: Hoare triple {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,169 INFO L273 TraceCheckUtils]: 52: Hoare triple {8652#(and (<= 1 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,169 INFO L273 TraceCheckUtils]: 53: Hoare triple {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,170 INFO L256 TraceCheckUtils]: 54: Hoare triple {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,171 INFO L273 TraceCheckUtils]: 55: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,171 INFO L273 TraceCheckUtils]: 56: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,172 INFO L273 TraceCheckUtils]: 57: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,172 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,173 INFO L273 TraceCheckUtils]: 59: Hoare triple {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,174 INFO L273 TraceCheckUtils]: 60: Hoare triple {8677#(and (<= 2 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,175 INFO L273 TraceCheckUtils]: 61: Hoare triple {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,176 INFO L256 TraceCheckUtils]: 62: Hoare triple {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,176 INFO L273 TraceCheckUtils]: 63: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,177 INFO L273 TraceCheckUtils]: 64: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,177 INFO L273 TraceCheckUtils]: 65: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,178 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,179 INFO L273 TraceCheckUtils]: 67: Hoare triple {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,179 INFO L273 TraceCheckUtils]: 68: Hoare triple {8702#(and (<= 3 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,180 INFO L273 TraceCheckUtils]: 69: Hoare triple {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,181 INFO L256 TraceCheckUtils]: 70: Hoare triple {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,182 INFO L273 TraceCheckUtils]: 71: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,182 INFO L273 TraceCheckUtils]: 72: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,183 INFO L273 TraceCheckUtils]: 73: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,183 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,184 INFO L273 TraceCheckUtils]: 75: Hoare triple {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,185 INFO L273 TraceCheckUtils]: 76: Hoare triple {8727#(and (<= 4 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,186 INFO L273 TraceCheckUtils]: 77: Hoare triple {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,187 INFO L256 TraceCheckUtils]: 78: Hoare triple {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,187 INFO L273 TraceCheckUtils]: 79: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,188 INFO L273 TraceCheckUtils]: 80: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,188 INFO L273 TraceCheckUtils]: 81: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,189 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,189 INFO L273 TraceCheckUtils]: 83: Hoare triple {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,190 INFO L273 TraceCheckUtils]: 84: Hoare triple {8752#(and (<= 5 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,191 INFO L273 TraceCheckUtils]: 85: Hoare triple {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,192 INFO L256 TraceCheckUtils]: 86: Hoare triple {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,192 INFO L273 TraceCheckUtils]: 87: Hoare triple {8513#(<= ~SIZE~0 7)} ~cond := #in~cond; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,193 INFO L273 TraceCheckUtils]: 88: Hoare triple {8513#(<= ~SIZE~0 7)} assume !(0 == ~cond); {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,193 INFO L273 TraceCheckUtils]: 89: Hoare triple {8513#(<= ~SIZE~0 7)} assume true; {8513#(<= ~SIZE~0 7)} is VALID [2018-11-23 12:25:11,194 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {8513#(<= ~SIZE~0 7)} {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} #67#return; {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,195 INFO L273 TraceCheckUtils]: 91: Hoare triple {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} havoc #t~mem4; {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,196 INFO L273 TraceCheckUtils]: 92: Hoare triple {8777#(and (<= 6 main_~i~0) (<= ~SIZE~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {8802#(and (<= 7 main_~i~0) (<= ~SIZE~0 7))} is VALID [2018-11-23 12:25:11,197 INFO L273 TraceCheckUtils]: 93: Hoare triple {8802#(and (<= 7 main_~i~0) (<= ~SIZE~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8505#false} is VALID [2018-11-23 12:25:11,197 INFO L256 TraceCheckUtils]: 94: Hoare triple {8505#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {8505#false} is VALID [2018-11-23 12:25:11,197 INFO L273 TraceCheckUtils]: 95: Hoare triple {8505#false} ~cond := #in~cond; {8505#false} is VALID [2018-11-23 12:25:11,197 INFO L273 TraceCheckUtils]: 96: Hoare triple {8505#false} assume 0 == ~cond; {8505#false} is VALID [2018-11-23 12:25:11,197 INFO L273 TraceCheckUtils]: 97: Hoare triple {8505#false} assume !false; {8505#false} is VALID [2018-11-23 12:25:11,209 INFO L134 CoverageAnalysis]: Checked inductivity of 287 backedges. 112 proven. 91 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-23 12:25:11,228 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:25:11,229 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 18] total 20 [2018-11-23 12:25:11,229 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 98 [2018-11-23 12:25:11,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:25:11,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:25:11,350 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:11,350 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:25:11,350 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:25:11,350 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=240, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:25:11,351 INFO L87 Difference]: Start difference. First operand 101 states and 103 transitions. Second operand 20 states. [2018-11-23 12:25:14,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:14,328 INFO L93 Difference]: Finished difference Result 184 states and 189 transitions. [2018-11-23 12:25:14,328 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:25:14,328 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 98 [2018-11-23 12:25:14,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:25:14,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:25:14,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 114 transitions. [2018-11-23 12:25:14,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:25:14,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 114 transitions. [2018-11-23 12:25:14,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 114 transitions. [2018-11-23 12:25:14,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:14,454 INFO L225 Difference]: With dead ends: 184 [2018-11-23 12:25:14,454 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 12:25:14,456 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 128 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=153, Invalid=267, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:25:14,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 12:25:16,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 105. [2018-11-23 12:25:16,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:25:16,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 105 states. [2018-11-23 12:25:16,326 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 105 states. [2018-11-23 12:25:16,326 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 105 states. [2018-11-23 12:25:16,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:16,328 INFO L93 Difference]: Finished difference Result 107 states and 109 transitions. [2018-11-23 12:25:16,329 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 109 transitions. [2018-11-23 12:25:16,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:16,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:16,329 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 107 states. [2018-11-23 12:25:16,329 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 107 states. [2018-11-23 12:25:16,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:16,332 INFO L93 Difference]: Finished difference Result 107 states and 109 transitions. [2018-11-23 12:25:16,332 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 109 transitions. [2018-11-23 12:25:16,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:25:16,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:25:16,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:25:16,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:25:16,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-23 12:25:16,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 107 transitions. [2018-11-23 12:25:16,334 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 107 transitions. Word has length 98 [2018-11-23 12:25:16,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:25:16,335 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 107 transitions. [2018-11-23 12:25:16,335 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:25:16,335 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 107 transitions. [2018-11-23 12:25:16,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2018-11-23 12:25:16,336 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:25:16,336 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:25:16,337 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:25:16,337 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:25:16,337 INFO L82 PathProgramCache]: Analyzing trace with hash -202317502, now seen corresponding path program 13 times [2018-11-23 12:25:16,337 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:25:16,337 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:25:16,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:16,338 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:25:16,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:25:16,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:18,302 INFO L256 TraceCheckUtils]: 0: Hoare triple {9423#true} call ULTIMATE.init(); {9423#true} is VALID [2018-11-23 12:25:18,302 INFO L273 TraceCheckUtils]: 1: Hoare triple {9423#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {9423#true} is VALID [2018-11-23 12:25:18,303 INFO L273 TraceCheckUtils]: 2: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,303 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9423#true} {9423#true} #63#return; {9423#true} is VALID [2018-11-23 12:25:18,303 INFO L256 TraceCheckUtils]: 4: Hoare triple {9423#true} call #t~ret5 := main(); {9423#true} is VALID [2018-11-23 12:25:18,304 INFO L273 TraceCheckUtils]: 5: Hoare triple {9423#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {9423#true} is VALID [2018-11-23 12:25:18,304 INFO L273 TraceCheckUtils]: 6: Hoare triple {9423#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {9423#true} is VALID [2018-11-23 12:25:18,304 INFO L273 TraceCheckUtils]: 7: Hoare triple {9423#true} assume !!(~i~0 >= 0); {9423#true} is VALID [2018-11-23 12:25:18,304 INFO L273 TraceCheckUtils]: 8: Hoare triple {9423#true} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9423#true} is VALID [2018-11-23 12:25:18,310 INFO L273 TraceCheckUtils]: 9: Hoare triple {9423#true} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9425#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-23 12:25:18,311 INFO L273 TraceCheckUtils]: 10: Hoare triple {9425#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,312 INFO L273 TraceCheckUtils]: 11: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume !!(~i~0 >= 0); {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,312 INFO L273 TraceCheckUtils]: 12: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,313 INFO L273 TraceCheckUtils]: 13: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,314 INFO L273 TraceCheckUtils]: 14: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,315 INFO L273 TraceCheckUtils]: 15: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} assume !!(~i~0 >= 0); {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,316 INFO L273 TraceCheckUtils]: 16: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,317 INFO L273 TraceCheckUtils]: 17: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,318 INFO L273 TraceCheckUtils]: 18: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,319 INFO L273 TraceCheckUtils]: 19: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} assume !!(~i~0 >= 0); {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,320 INFO L273 TraceCheckUtils]: 20: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,321 INFO L273 TraceCheckUtils]: 21: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,323 INFO L273 TraceCheckUtils]: 22: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,323 INFO L273 TraceCheckUtils]: 23: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} assume !!(~i~0 >= 0); {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,324 INFO L273 TraceCheckUtils]: 24: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,326 INFO L273 TraceCheckUtils]: 25: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,327 INFO L273 TraceCheckUtils]: 26: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,327 INFO L273 TraceCheckUtils]: 27: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} assume !!(~i~0 >= 0); {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,329 INFO L273 TraceCheckUtils]: 28: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,330 INFO L273 TraceCheckUtils]: 29: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,331 INFO L273 TraceCheckUtils]: 30: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} is VALID [2018-11-23 12:25:18,332 INFO L273 TraceCheckUtils]: 31: Hoare triple {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} assume !!(~i~0 >= 0); {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} is VALID [2018-11-23 12:25:18,333 INFO L273 TraceCheckUtils]: 32: Hoare triple {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9432#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))))} is VALID [2018-11-23 12:25:18,334 INFO L273 TraceCheckUtils]: 33: Hoare triple {9432#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9432#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))))} is VALID [2018-11-23 12:25:18,336 INFO L273 TraceCheckUtils]: 34: Hoare triple {9432#(and (<= 1 main_~i~0) (or (<= 2 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9433#(or (and (<= 0 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))) (<= 1 main_~i~0))} is VALID [2018-11-23 12:25:18,336 INFO L273 TraceCheckUtils]: 35: Hoare triple {9433#(or (and (<= 0 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))) (<= 1 main_~i~0))} assume !!(~i~0 >= 0); {9433#(or (and (<= 0 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))) (<= 1 main_~i~0))} is VALID [2018-11-23 12:25:18,337 INFO L273 TraceCheckUtils]: 36: Hoare triple {9433#(or (and (<= 0 main_~i~0) (<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))) (<= 1 main_~i~0))} assume !(~i~0 - 1 >= 0); {9434#(<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))} is VALID [2018-11-23 12:25:18,338 INFO L273 TraceCheckUtils]: 37: Hoare triple {9434#(<= 7 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) main_~i~0) (+ |main_~#a~0.offset| (* 4 7))))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9435#(<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))))} is VALID [2018-11-23 12:25:18,339 INFO L273 TraceCheckUtils]: 38: Hoare triple {9435#(<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9435#(<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))))} is VALID [2018-11-23 12:25:18,339 INFO L273 TraceCheckUtils]: 39: Hoare triple {9435#(<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))))} assume !(~i~0 >= 0); {9435#(<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))))} is VALID [2018-11-23 12:25:18,340 INFO L273 TraceCheckUtils]: 40: Hoare triple {9435#(<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))))} ~i~0 := 0; {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} is VALID [2018-11-23 12:25:18,341 INFO L273 TraceCheckUtils]: 41: Hoare triple {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} is VALID [2018-11-23 12:25:18,341 INFO L256 TraceCheckUtils]: 42: Hoare triple {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,342 INFO L273 TraceCheckUtils]: 43: Hoare triple {9423#true} ~cond := #in~cond; {9437#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:25:18,342 INFO L273 TraceCheckUtils]: 44: Hoare triple {9437#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {9438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:25:18,343 INFO L273 TraceCheckUtils]: 45: Hoare triple {9438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:25:18,344 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9438#(not (= |__VERIFIER_assert_#in~cond| 0))} {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} #67#return; {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} is VALID [2018-11-23 12:25:18,344 INFO L273 TraceCheckUtils]: 47: Hoare triple {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} havoc #t~mem4; {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} is VALID [2018-11-23 12:25:18,345 INFO L273 TraceCheckUtils]: 48: Hoare triple {9436#(and (<= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7)))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} is VALID [2018-11-23 12:25:18,346 INFO L273 TraceCheckUtils]: 49: Hoare triple {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} is VALID [2018-11-23 12:25:18,346 INFO L256 TraceCheckUtils]: 50: Hoare triple {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,346 INFO L273 TraceCheckUtils]: 51: Hoare triple {9423#true} ~cond := #in~cond; {9423#true} is VALID [2018-11-23 12:25:18,347 INFO L273 TraceCheckUtils]: 52: Hoare triple {9423#true} assume !(0 == ~cond); {9423#true} is VALID [2018-11-23 12:25:18,347 INFO L273 TraceCheckUtils]: 53: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,348 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {9423#true} {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} #67#return; {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} is VALID [2018-11-23 12:25:18,348 INFO L273 TraceCheckUtils]: 55: Hoare triple {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} havoc #t~mem4; {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} is VALID [2018-11-23 12:25:18,349 INFO L273 TraceCheckUtils]: 56: Hoare triple {9431#(<= (+ main_~i~0 6) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,350 INFO L273 TraceCheckUtils]: 57: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,350 INFO L256 TraceCheckUtils]: 58: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,350 INFO L273 TraceCheckUtils]: 59: Hoare triple {9423#true} ~cond := #in~cond; {9423#true} is VALID [2018-11-23 12:25:18,351 INFO L273 TraceCheckUtils]: 60: Hoare triple {9423#true} assume !(0 == ~cond); {9423#true} is VALID [2018-11-23 12:25:18,351 INFO L273 TraceCheckUtils]: 61: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,351 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {9423#true} {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} #67#return; {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,352 INFO L273 TraceCheckUtils]: 63: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} havoc #t~mem4; {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} is VALID [2018-11-23 12:25:18,353 INFO L273 TraceCheckUtils]: 64: Hoare triple {9430#(<= (+ main_~i~0 5) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,354 INFO L273 TraceCheckUtils]: 65: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,354 INFO L256 TraceCheckUtils]: 66: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,354 INFO L273 TraceCheckUtils]: 67: Hoare triple {9423#true} ~cond := #in~cond; {9423#true} is VALID [2018-11-23 12:25:18,355 INFO L273 TraceCheckUtils]: 68: Hoare triple {9423#true} assume !(0 == ~cond); {9423#true} is VALID [2018-11-23 12:25:18,355 INFO L273 TraceCheckUtils]: 69: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,355 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {9423#true} {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} #67#return; {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,356 INFO L273 TraceCheckUtils]: 71: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} havoc #t~mem4; {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} is VALID [2018-11-23 12:25:18,357 INFO L273 TraceCheckUtils]: 72: Hoare triple {9429#(<= (+ main_~i~0 4) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,358 INFO L273 TraceCheckUtils]: 73: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,358 INFO L256 TraceCheckUtils]: 74: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,358 INFO L273 TraceCheckUtils]: 75: Hoare triple {9423#true} ~cond := #in~cond; {9423#true} is VALID [2018-11-23 12:25:18,358 INFO L273 TraceCheckUtils]: 76: Hoare triple {9423#true} assume !(0 == ~cond); {9423#true} is VALID [2018-11-23 12:25:18,358 INFO L273 TraceCheckUtils]: 77: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,359 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {9423#true} {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} #67#return; {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,360 INFO L273 TraceCheckUtils]: 79: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} havoc #t~mem4; {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} is VALID [2018-11-23 12:25:18,361 INFO L273 TraceCheckUtils]: 80: Hoare triple {9428#(<= (+ main_~i~0 3) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,362 INFO L273 TraceCheckUtils]: 81: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,362 INFO L256 TraceCheckUtils]: 82: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,362 INFO L273 TraceCheckUtils]: 83: Hoare triple {9423#true} ~cond := #in~cond; {9423#true} is VALID [2018-11-23 12:25:18,362 INFO L273 TraceCheckUtils]: 84: Hoare triple {9423#true} assume !(0 == ~cond); {9423#true} is VALID [2018-11-23 12:25:18,363 INFO L273 TraceCheckUtils]: 85: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,363 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {9423#true} {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} #67#return; {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,364 INFO L273 TraceCheckUtils]: 87: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} havoc #t~mem4; {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} is VALID [2018-11-23 12:25:18,365 INFO L273 TraceCheckUtils]: 88: Hoare triple {9427#(<= (+ main_~i~0 2) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,366 INFO L273 TraceCheckUtils]: 89: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,366 INFO L256 TraceCheckUtils]: 90: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9423#true} is VALID [2018-11-23 12:25:18,366 INFO L273 TraceCheckUtils]: 91: Hoare triple {9423#true} ~cond := #in~cond; {9423#true} is VALID [2018-11-23 12:25:18,366 INFO L273 TraceCheckUtils]: 92: Hoare triple {9423#true} assume !(0 == ~cond); {9423#true} is VALID [2018-11-23 12:25:18,367 INFO L273 TraceCheckUtils]: 93: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:18,367 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {9423#true} {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #67#return; {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,368 INFO L273 TraceCheckUtils]: 95: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} havoc #t~mem4; {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} is VALID [2018-11-23 12:25:18,369 INFO L273 TraceCheckUtils]: 96: Hoare triple {9426#(<= (+ main_~i~0 1) (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0) (- 4)) (+ main_~i~0 (- 2))) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9439#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-23 12:25:18,370 INFO L273 TraceCheckUtils]: 97: Hoare triple {9439#(<= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9440#(<= main_~i~0 |main_#t~mem4|)} is VALID [2018-11-23 12:25:18,371 INFO L256 TraceCheckUtils]: 98: Hoare triple {9440#(<= main_~i~0 |main_#t~mem4|)} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:25:18,371 INFO L273 TraceCheckUtils]: 99: Hoare triple {9438#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9441#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:25:18,372 INFO L273 TraceCheckUtils]: 100: Hoare triple {9441#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9424#false} is VALID [2018-11-23 12:25:18,372 INFO L273 TraceCheckUtils]: 101: Hoare triple {9424#false} assume !false; {9424#false} is VALID [2018-11-23 12:25:18,401 INFO L134 CoverageAnalysis]: Checked inductivity of 316 backedges. 35 proven. 215 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-23 12:25:18,402 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:25:18,402 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:25:18,411 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:25:18,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:18,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:25:18,476 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:25:18,529 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:25:18,533 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:25:18,545 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,547 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,552 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,552 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:19, output treesize:15 [2018-11-23 12:25:18,621 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 28 [2018-11-23 12:25:18,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,628 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 58 [2018-11-23 12:25:18,631 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,639 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,647 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,647 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:36, output treesize:32 [2018-11-23 12:25:18,700 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 37 [2018-11-23 12:25:18,707 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,708 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,709 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,710 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,712 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,713 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,714 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 128 [2018-11-23 12:25:18,719 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,738 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,749 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,749 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:25:18,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 51 [2018-11-23 12:25:18,865 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,866 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,867 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,874 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,875 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,875 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,876 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,877 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,878 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,880 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,881 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,882 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:18,883 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 12 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 245 [2018-11-23 12:25:18,886 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,924 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,938 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:18,938 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:63, output treesize:59 [2018-11-23 12:25:19,009 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 70 [2018-11-23 12:25:19,051 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,052 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,053 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,054 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,055 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,056 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,058 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,059 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,061 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,062 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,064 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,065 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,066 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,069 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,070 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 16 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 291 [2018-11-23 12:25:19,074 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,119 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,133 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,133 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:74, output treesize:57 [2018-11-23 12:25:19,139 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:19,139 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|]. (let ((.cse2 (* 4 main_~i~0))) (let ((.cse1 (+ .cse2 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_54| |main_~#a~0.base|))) (and (= main_~i~0 (+ (select .cse0 .cse1) 1)) (= (store |v_#memory_int_54| |main_~#a~0.base| (store .cse0 .cse1 main_~i~0)) |#memory_int|) (= (+ main_~i~0 1) (select .cse0 (+ .cse2 |main_~#a~0.offset| 4))) (= (+ main_~i~0 2) (select .cse0 (+ .cse2 |main_~#a~0.offset| 8))) (= main_~i~0 (+ (select .cse0 (+ .cse2 |main_~#a~0.offset| (- 4))) 2)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:25:19,139 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:25:19,285 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 74 treesize of output 63 [2018-11-23 12:25:19,293 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,294 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,295 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,296 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,297 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,298 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,299 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,301 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,303 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,304 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,307 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,308 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,310 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,314 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,315 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,316 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,317 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 20 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 394 [2018-11-23 12:25:19,322 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,381 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,398 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,398 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:77, output treesize:73 [2018-11-23 12:25:19,488 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,489 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 82 [2018-11-23 12:25:19,501 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,502 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,504 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,505 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,506 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,508 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,509 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,510 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,512 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,513 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,515 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,517 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,518 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,520 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,522 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,523 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,525 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,527 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,529 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,530 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,532 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,534 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,535 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,539 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 25 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 454 [2018-11-23 12:25:19,559 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,632 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,649 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:19,649 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:88, output treesize:71 [2018-11-23 12:25:19,657 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:19,657 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|]. (let ((.cse2 (* 4 main_~i~0))) (let ((.cse1 (+ .cse2 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_56| |main_~#a~0.base|))) (and (= (+ (select .cse0 .cse1) 1) main_~i~0) (= main_~i~0 (+ (select .cse0 (+ .cse2 |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 2) (select .cse0 (+ .cse2 |main_~#a~0.offset| 8))) (= |#memory_int| (store |v_#memory_int_56| |main_~#a~0.base| (store .cse0 .cse1 main_~i~0))) (= (select .cse0 (+ .cse2 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse2 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:25:19,657 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:25:19,879 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 75 [2018-11-23 12:25:19,898 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,901 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,903 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,905 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,907 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,909 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,911 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,913 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,915 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,917 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,921 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,925 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,927 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,929 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,931 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,934 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,937 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,939 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,942 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,944 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,947 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,949 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,951 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,955 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,957 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,959 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,961 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,963 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:19,964 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 30 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 579 [2018-11-23 12:25:19,970 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,092 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,113 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,113 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:91, output treesize:87 [2018-11-23 12:25:20,244 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 94 [2018-11-23 12:25:20,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,264 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,265 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,267 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,271 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,272 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,273 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,274 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,276 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,277 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,279 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,301 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,303 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,304 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,305 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,308 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,313 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,314 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,316 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,317 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,319 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,320 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,322 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,323 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,326 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,327 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 36 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 653 [2018-11-23 12:25:20,334 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,465 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,486 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,486 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:102, output treesize:85 [2018-11-23 12:25:20,493 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:20,493 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_58| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= |#memory_int| (store |v_#memory_int_58| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0))) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= (+ main_~i~0 4) (select .cse0 (+ .cse1 |main_~#a~0.offset| 16))) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:25:20,494 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:25:20,695 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 87 [2018-11-23 12:25:20,706 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,707 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,708 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,710 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,711 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,712 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,713 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,716 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,717 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,718 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,720 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,721 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,722 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,724 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,726 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,727 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,728 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,729 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,731 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,732 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,734 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,735 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,737 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,739 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,740 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,741 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,743 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,745 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,746 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,747 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,749 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,751 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,752 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,753 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,755 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,757 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,758 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,759 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,761 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,762 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:20,764 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 42 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 87 treesize of output 800 [2018-11-23 12:25:20,769 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,919 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,943 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:20,943 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:105, output treesize:101 [2018-11-23 12:25:21,073 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,074 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 113 treesize of output 106 [2018-11-23 12:25:21,092 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,093 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,095 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,098 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,099 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,101 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,104 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,105 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,107 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,108 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,110 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,111 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,112 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,114 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,115 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,117 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,118 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,119 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,120 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,122 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,124 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,126 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,127 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,129 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,131 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,132 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,136 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,138 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,140 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,141 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,143 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,145 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,147 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,148 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,150 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,152 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,154 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,155 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,157 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,159 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,161 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,163 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,165 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,167 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,169 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,170 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 49 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 106 treesize of output 888 [2018-11-23 12:25:21,178 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:21,355 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:21,378 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:21,379 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:116, output treesize:99 [2018-11-23 12:25:21,387 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:21,387 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse2 (+ .cse1 |main_~#a~0.offset|)) (.cse0 (select |v_#memory_int_60| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (store |v_#memory_int_60| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:25:21,387 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:25:21,638 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 116 treesize of output 99 [2018-11-23 12:25:21,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,654 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,656 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,659 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,660 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,661 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,662 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,663 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,665 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,666 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,667 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,668 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,669 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,670 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,672 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,673 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,674 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,675 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,681 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,683 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,684 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,686 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,689 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,691 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,692 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,694 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,695 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,697 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,698 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,700 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,702 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,703 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,704 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,706 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,708 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,709 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,711 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,712 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,714 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,715 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,717 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,718 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,720 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,721 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,724 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,725 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:21,727 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 7 select indices, 7 select index equivalence classes, 56 disjoint index pairs (out of 21 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 1057 [2018-11-23 12:25:21,736 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:21,955 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:21,986 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:21,986 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:122, output treesize:118 [2018-11-23 12:25:22,154 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 127 treesize of output 118 [2018-11-23 12:25:22,176 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,177 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,178 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,180 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,183 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,185 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,188 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,190 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,192 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,193 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,195 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,197 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,197 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,198 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,200 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,202 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,203 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,205 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,207 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,208 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,210 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,212 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,213 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,215 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,216 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,218 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,220 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,222 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,226 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,228 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,230 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,232 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,234 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,236 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,238 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,239 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,241 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,243 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,245 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,247 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,249 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,251 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,253 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,255 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,258 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,260 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,263 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,267 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,271 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,273 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,275 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,277 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,278 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,280 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,282 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,286 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:22,286 INFO L303 Elim1Store]: Index analysis took 114 ms [2018-11-23 12:25:22,288 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 8 select indices, 8 select index equivalence classes, 64 disjoint index pairs (out of 28 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 118 treesize of output 1159 [2018-11-23 12:25:22,296 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:22,557 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:22,587 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:22,588 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:133, output treesize:116 [2018-11-23 12:25:22,599 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:22,600 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select |v_#memory_int_62| |main_~#a~0.base|)) (.cse2 (+ .cse1 |main_~#a~0.offset|))) (and (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (<= 1 main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= main_~i~0 (+ (select .cse0 .cse2) 1)) (= main_~i~0 (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ main_~i~0 1)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (store |v_#memory_int_62| |main_~#a~0.base| (store .cse0 .cse2 main_~i~0)) |#memory_int|) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:25:22,600 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 4 main_~i~0))) (and (<= 1 main_~i~0) (= (+ main_~i~0 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select .cse0 (+ .cse1 |main_~#a~0.offset| 4))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0) (= main_~i~0 (select .cse0 (+ .cse1 |main_~#a~0.offset|))))) [2018-11-23 12:25:23,326 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,327 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 125 treesize of output 116 [2018-11-23 12:25:23,496 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,498 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,500 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,502 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,503 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,505 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,508 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,510 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,512 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,515 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,516 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,519 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,519 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:23,521 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,526 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,530 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,532 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,534 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,536 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,538 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,540 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,541 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,543 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,545 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,547 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,550 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,552 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,554 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,556 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,558 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,561 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,565 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,567 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,570 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,571 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,577 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,580 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,583 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,585 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,587 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,589 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,591 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,593 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,595 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,597 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,599 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,600 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,601 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,603 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,606 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,608 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,627 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,631 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,632 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,633 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,636 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,638 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,640 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,642 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,644 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:23,644 INFO L303 Elim1Store]: Index analysis took 151 ms [2018-11-23 12:25:23,646 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 9 select indices, 9 select index equivalence classes, 64 disjoint index pairs (out of 36 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 116 treesize of output 1173 [2018-11-23 12:25:23,655 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:23,932 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:23,995 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:25:23,995 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:139, output treesize:128 [2018-11-23 12:25:24,007 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:24,008 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, main_~i~0, v_main_~i~0_113]. (let ((.cse0 (select |v_#memory_int_63| |main_~#a~0.base|)) (.cse1 (* 4 v_main_~i~0_113))) (and (< main_~i~0 1) (= (select .cse0 (+ .cse1 |main_~#a~0.offset|)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (+ v_main_~i~0_113 2) (select .cse0 (+ .cse1 |main_~#a~0.offset| 8))) (= (+ v_main_~i~0_113 5) (select .cse0 (+ .cse1 |main_~#a~0.offset| 20))) (= (+ v_main_~i~0_113 6) (select .cse0 (+ .cse1 |main_~#a~0.offset| 24))) (<= 1 v_main_~i~0_113) (= |#memory_int| (store |v_#memory_int_63| |main_~#a~0.base| (store .cse0 (+ (* 4 main_~i~0) |main_~#a~0.offset|) main_~i~0))) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (+ v_main_~i~0_113 4) (select .cse0 (+ .cse1 |main_~#a~0.offset| 16))) (= (+ (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select .cse0 (+ .cse1 |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)) (= |main_~#a~0.offset| 0))) [2018-11-23 12:25:24,008 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~i~0_113]. (let ((.cse1 (select |#memory_int| |main_~#a~0.base|)) (.cse2 (* 4 v_main_~i~0_113))) (let ((.cse0 (select .cse1 (+ .cse2 |main_~#a~0.offset| (- 4))))) (and (< .cse0 1) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (<= v_main_~i~0_113 (+ .cse0 1)) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select .cse1 (+ .cse2 |main_~#a~0.offset|)) v_main_~i~0_113) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select .cse1 (+ .cse2 |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)) (= |main_~#a~0.offset| 0)))) [2018-11-23 12:25:36,276 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 121 treesize of output 101 [2018-11-23 12:25:36,289 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,290 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,292 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,293 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,294 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,296 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,297 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,299 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,300 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,301 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,304 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,305 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,308 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,309 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,313 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,315 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,316 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,318 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,319 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,320 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,321 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,323 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,326 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,327 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,328 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,330 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,331 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,332 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:25:36,333 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,335 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,337 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,338 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,340 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,342 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,343 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,345 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,347 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,348 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,350 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,352 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,353 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,355 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,357 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,358 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,360 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,362 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,363 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,365 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,367 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,368 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,370 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,372 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,373 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,375 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,377 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,379 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,380 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:25:36,388 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 9 select indices, 9 select index equivalence classes, 56 disjoint index pairs (out of 36 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 589 [2018-11-23 12:25:36,629 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:25:36,761 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:36,772 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:25:36,773 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:127, output treesize:7 [2018-11-23 12:25:36,778 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:25:36,778 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_113]. (let ((.cse1 (select |#memory_int| |main_~#a~0.base|)) (.cse2 (* 4 v_main_~i~0_113))) (let ((.cse0 (select .cse1 (+ .cse2 (- 4))))) (and (< .cse0 1) (= (select .cse1 (+ .cse2 8)) (+ v_main_~i~0_113 2)) (= (+ v_main_~i~0_113 3) (select .cse1 (+ .cse2 12))) (= (select .cse1 .cse2) v_main_~i~0_113) (<= 1 v_main_~i~0_113) (<= v_main_~i~0_113 (+ .cse0 1)) (= (select .cse1 (+ .cse2 16)) (+ v_main_~i~0_113 4)) (= (select .cse1 (+ .cse2 4)) (+ v_main_~i~0_113 1)) (= (select .cse1 (+ .cse2 24)) (+ v_main_~i~0_113 6)) (= (+ v_main_~i~0_113 5) (select .cse1 (+ .cse2 20))) (<= (select .cse1 (* 4 main_~i~0)) |main_#t~mem4|) (= main_~i~0 7)))) [2018-11-23 12:25:36,778 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 7 |main_#t~mem4|) (= main_~i~0 7)) [2018-11-23 12:25:36,938 INFO L256 TraceCheckUtils]: 0: Hoare triple {9423#true} call ULTIMATE.init(); {9423#true} is VALID [2018-11-23 12:25:36,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {9423#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {9423#true} is VALID [2018-11-23 12:25:36,939 INFO L273 TraceCheckUtils]: 2: Hoare triple {9423#true} assume true; {9423#true} is VALID [2018-11-23 12:25:36,939 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9423#true} {9423#true} #63#return; {9423#true} is VALID [2018-11-23 12:25:36,939 INFO L256 TraceCheckUtils]: 4: Hoare triple {9423#true} call #t~ret5 := main(); {9423#true} is VALID [2018-11-23 12:25:36,939 INFO L273 TraceCheckUtils]: 5: Hoare triple {9423#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {9423#true} is VALID [2018-11-23 12:25:36,940 INFO L273 TraceCheckUtils]: 6: Hoare triple {9423#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {9463#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:25:36,940 INFO L273 TraceCheckUtils]: 7: Hoare triple {9463#(= |main_~#a~0.offset| 0)} assume !!(~i~0 >= 0); {9463#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:25:36,941 INFO L273 TraceCheckUtils]: 8: Hoare triple {9463#(= |main_~#a~0.offset| 0)} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9463#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:25:36,942 INFO L273 TraceCheckUtils]: 9: Hoare triple {9463#(= |main_~#a~0.offset| 0)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9473#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,943 INFO L273 TraceCheckUtils]: 10: Hoare triple {9473#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9477#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,944 INFO L273 TraceCheckUtils]: 11: Hoare triple {9477#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9477#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,945 INFO L273 TraceCheckUtils]: 12: Hoare triple {9477#(and (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9484#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,947 INFO L273 TraceCheckUtils]: 13: Hoare triple {9484#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9488#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,949 INFO L273 TraceCheckUtils]: 14: Hoare triple {9488#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9492#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,950 INFO L273 TraceCheckUtils]: 15: Hoare triple {9492#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9492#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,952 INFO L273 TraceCheckUtils]: 16: Hoare triple {9492#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9499#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,954 INFO L273 TraceCheckUtils]: 17: Hoare triple {9499#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9503#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,957 INFO L273 TraceCheckUtils]: 18: Hoare triple {9503#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9507#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,958 INFO L273 TraceCheckUtils]: 19: Hoare triple {9507#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9507#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,960 INFO L273 TraceCheckUtils]: 20: Hoare triple {9507#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9514#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,962 INFO L273 TraceCheckUtils]: 21: Hoare triple {9514#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9518#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,966 INFO L273 TraceCheckUtils]: 22: Hoare triple {9518#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9522#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,968 INFO L273 TraceCheckUtils]: 23: Hoare triple {9522#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9522#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,969 INFO L273 TraceCheckUtils]: 24: Hoare triple {9522#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9529#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,971 INFO L273 TraceCheckUtils]: 25: Hoare triple {9529#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9533#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,975 INFO L273 TraceCheckUtils]: 26: Hoare triple {9533#(and (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9537#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,976 INFO L273 TraceCheckUtils]: 27: Hoare triple {9537#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9537#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,978 INFO L273 TraceCheckUtils]: 28: Hoare triple {9537#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9544#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,980 INFO L273 TraceCheckUtils]: 29: Hoare triple {9544#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9548#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,984 INFO L273 TraceCheckUtils]: 30: Hoare triple {9548#(and (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9552#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,986 INFO L273 TraceCheckUtils]: 31: Hoare triple {9552#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9552#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,987 INFO L273 TraceCheckUtils]: 32: Hoare triple {9552#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {9559#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 1 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,990 INFO L273 TraceCheckUtils]: 33: Hoare triple {9559#(and (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) 1)) (<= 1 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= main_~i~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9563#(and (<= 1 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,993 INFO L273 TraceCheckUtils]: 34: Hoare triple {9563#(and (<= 1 main_~i~0) (= (+ main_~i~0 5) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 20))) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4))) 2) main_~i~0) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 8)) (+ main_~i~0 2)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 12)) (+ main_~i~0 3)) (= (+ main_~i~0 1) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 4))) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 16)) (+ main_~i~0 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| 24)) (+ main_~i~0 6)) (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9567#(and (exists ((v_main_~i~0_113 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,995 INFO L273 TraceCheckUtils]: 35: Hoare triple {9567#(and (exists ((v_main_~i~0_113 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 >= 0); {9567#(and (exists ((v_main_~i~0_113 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:36,998 INFO L273 TraceCheckUtils]: 36: Hoare triple {9567#(and (exists ((v_main_~i~0_113 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 - 1 >= 0); {9574#(and (< main_~i~0 1) (exists ((v_main_~i~0_113 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,003 INFO L273 TraceCheckUtils]: 37: Hoare triple {9574#(and (< main_~i~0 1) (exists ((v_main_~i~0_113 Int)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= 1 v_main_~i~0_113) (= (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 2) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (<= v_main_~i~0_113 (+ main_~i~0 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9578#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,004 INFO L273 TraceCheckUtils]: 38: Hoare triple {9578#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {9578#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,005 INFO L273 TraceCheckUtils]: 39: Hoare triple {9578#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 >= 0); {9578#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,006 INFO L273 TraceCheckUtils]: 40: Hoare triple {9578#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,007 INFO L273 TraceCheckUtils]: 41: Hoare triple {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,009 INFO L256 TraceCheckUtils]: 42: Hoare triple {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,010 INFO L273 TraceCheckUtils]: 43: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9599#(and (exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:25:37,012 INFO L273 TraceCheckUtils]: 44: Hoare triple {9599#(and (exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {9603#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6)))))} is VALID [2018-11-23 12:25:37,013 INFO L273 TraceCheckUtils]: 45: Hoare triple {9603#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6)))))} assume true; {9603#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6)))))} is VALID [2018-11-23 12:25:37,014 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {9603#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6)))))} {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #67#return; {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,015 INFO L273 TraceCheckUtils]: 47: Hoare triple {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,018 INFO L273 TraceCheckUtils]: 48: Hoare triple {9588#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,020 INFO L273 TraceCheckUtils]: 49: Hoare triple {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,023 INFO L256 TraceCheckUtils]: 50: Hoare triple {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,024 INFO L273 TraceCheckUtils]: 51: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,025 INFO L273 TraceCheckUtils]: 52: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume !(0 == ~cond); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,026 INFO L273 TraceCheckUtils]: 53: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume true; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,026 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #67#return; {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,028 INFO L273 TraceCheckUtils]: 55: Hoare triple {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,030 INFO L273 TraceCheckUtils]: 56: Hoare triple {9616#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,031 INFO L273 TraceCheckUtils]: 57: Hoare triple {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,035 INFO L256 TraceCheckUtils]: 58: Hoare triple {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,035 INFO L273 TraceCheckUtils]: 59: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,036 INFO L273 TraceCheckUtils]: 60: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume !(0 == ~cond); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,037 INFO L273 TraceCheckUtils]: 61: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume true; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,038 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} #67#return; {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,039 INFO L273 TraceCheckUtils]: 63: Hoare triple {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,042 INFO L273 TraceCheckUtils]: 64: Hoare triple {9641#(and (= main_~i~0 2) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,044 INFO L273 TraceCheckUtils]: 65: Hoare triple {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,047 INFO L256 TraceCheckUtils]: 66: Hoare triple {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,048 INFO L273 TraceCheckUtils]: 67: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,049 INFO L273 TraceCheckUtils]: 68: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume !(0 == ~cond); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,049 INFO L273 TraceCheckUtils]: 69: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume true; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,050 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} #67#return; {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,052 INFO L273 TraceCheckUtils]: 71: Hoare triple {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,054 INFO L273 TraceCheckUtils]: 72: Hoare triple {9666#(and (= main_~i~0 3) (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,056 INFO L273 TraceCheckUtils]: 73: Hoare triple {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,060 INFO L256 TraceCheckUtils]: 74: Hoare triple {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,060 INFO L273 TraceCheckUtils]: 75: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,061 INFO L273 TraceCheckUtils]: 76: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume !(0 == ~cond); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,062 INFO L273 TraceCheckUtils]: 77: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume true; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,063 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #67#return; {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,063 INFO L273 TraceCheckUtils]: 79: Hoare triple {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,065 INFO L273 TraceCheckUtils]: 80: Hoare triple {9691#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,067 INFO L273 TraceCheckUtils]: 81: Hoare triple {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,070 INFO L256 TraceCheckUtils]: 82: Hoare triple {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,071 INFO L273 TraceCheckUtils]: 83: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,072 INFO L273 TraceCheckUtils]: 84: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume !(0 == ~cond); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,072 INFO L273 TraceCheckUtils]: 85: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume true; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,073 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #67#return; {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,075 INFO L273 TraceCheckUtils]: 87: Hoare triple {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,077 INFO L273 TraceCheckUtils]: 88: Hoare triple {9716#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,078 INFO L273 TraceCheckUtils]: 89: Hoare triple {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,082 INFO L256 TraceCheckUtils]: 90: Hoare triple {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,083 INFO L273 TraceCheckUtils]: 91: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} ~cond := #in~cond; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,083 INFO L273 TraceCheckUtils]: 92: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume !(0 == ~cond); {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,084 INFO L273 TraceCheckUtils]: 93: Hoare triple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} assume true; {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} is VALID [2018-11-23 12:25:37,085 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {9595#(exists ((v_main_~i~0_113 Int) (|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (and (= (+ v_main_~i~0_113 1) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 4))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 16)) (+ v_main_~i~0_113 4)) (<= 1 v_main_~i~0_113) (< (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 8)) (+ v_main_~i~0_113 2)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (* 4 v_main_~i~0_113)) v_main_~i~0_113) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) (- 4))) 1)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) (+ (* 4 v_main_~i~0_113) 24)) (+ v_main_~i~0_113 6))))} {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} #67#return; {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,086 INFO L273 TraceCheckUtils]: 95: Hoare triple {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} havoc #t~mem4; {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,088 INFO L273 TraceCheckUtils]: 96: Hoare triple {9741#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 6) (= |main_~#a~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9766#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:25:37,091 INFO L273 TraceCheckUtils]: 97: Hoare triple {9766#(and (exists ((v_main_~i~0_113 Int)) (and (< (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 8)) (+ v_main_~i~0_113 2)) (<= v_main_~i~0_113 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| (- 4))) 1)) (<= 1 v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 12)) (+ v_main_~i~0_113 3)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 16)) (+ v_main_~i~0_113 4)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset|)) v_main_~i~0_113) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 20)) (+ v_main_~i~0_113 5)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 24)) (+ v_main_~i~0_113 6)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~i~0_113) |main_~#a~0.offset| 4)) (+ v_main_~i~0_113 1)))) (= main_~i~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {9770#(and (<= 7 |main_#t~mem4|) (= main_~i~0 7))} is VALID [2018-11-23 12:25:37,092 INFO L256 TraceCheckUtils]: 98: Hoare triple {9770#(and (<= 7 |main_#t~mem4|) (= main_~i~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {9774#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:25:37,092 INFO L273 TraceCheckUtils]: 99: Hoare triple {9774#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9778#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:25:37,093 INFO L273 TraceCheckUtils]: 100: Hoare triple {9778#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9424#false} is VALID [2018-11-23 12:25:37,093 INFO L273 TraceCheckUtils]: 101: Hoare triple {9424#false} assume !false; {9424#false} is VALID [2018-11-23 12:25:37,230 INFO L134 CoverageAnalysis]: Checked inductivity of 316 backedges. 88 proven. 162 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-23 12:25:37,250 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:25:37,250 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 39] total 56 [2018-11-23 12:25:37,251 INFO L78 Accepts]: Start accepts. Automaton has 56 states. Word has length 102 [2018-11-23 12:25:37,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:25:37,252 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 56 states. [2018-11-23 12:25:38,025 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:38,025 INFO L459 AbstractCegarLoop]: Interpolant automaton has 56 states [2018-11-23 12:25:38,025 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 56 interpolants. [2018-11-23 12:25:38,026 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=448, Invalid=2632, Unknown=0, NotChecked=0, Total=3080 [2018-11-23 12:25:38,026 INFO L87 Difference]: Start difference. First operand 105 states and 107 transitions. Second operand 56 states. [2018-11-23 12:25:59,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:25:59,441 INFO L93 Difference]: Finished difference Result 223 states and 234 transitions. [2018-11-23 12:25:59,441 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 95 states. [2018-11-23 12:25:59,441 INFO L78 Accepts]: Start accepts. Automaton has 56 states. Word has length 102 [2018-11-23 12:25:59,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:25:59,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 12:25:59,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 192 transitions. [2018-11-23 12:25:59,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 12:25:59,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 192 transitions. [2018-11-23 12:25:59,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 95 states and 192 transitions. [2018-11-23 12:25:59,958 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 192 edges. 192 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:25:59,962 INFO L225 Difference]: With dead ends: 223 [2018-11-23 12:25:59,962 INFO L226 Difference]: Without dead ends: 221 [2018-11-23 12:25:59,966 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 61 SyntacticMatches, 31 SemanticMatches, 126 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5669 ImplicationChecksByTransitivity, 12.2s TimeCoverageRelationStatistics Valid=1889, Invalid=14367, Unknown=0, NotChecked=0, Total=16256 [2018-11-23 12:25:59,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2018-11-23 12:26:01,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 113. [2018-11-23 12:26:01,621 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:26:01,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand 113 states. [2018-11-23 12:26:01,622 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand 113 states. [2018-11-23 12:26:01,622 INFO L87 Difference]: Start difference. First operand 221 states. Second operand 113 states. [2018-11-23 12:26:01,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:26:01,626 INFO L93 Difference]: Finished difference Result 221 states and 231 transitions. [2018-11-23 12:26:01,627 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 231 transitions. [2018-11-23 12:26:01,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:26:01,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:26:01,628 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 221 states. [2018-11-23 12:26:01,628 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 221 states. [2018-11-23 12:26:01,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:26:01,633 INFO L93 Difference]: Finished difference Result 221 states and 231 transitions. [2018-11-23 12:26:01,633 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 231 transitions. [2018-11-23 12:26:01,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:26:01,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:26:01,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:26:01,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:26:01,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 12:26:01,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 115 transitions. [2018-11-23 12:26:01,636 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 115 transitions. Word has length 102 [2018-11-23 12:26:01,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:26:01,637 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 115 transitions. [2018-11-23 12:26:01,637 INFO L481 AbstractCegarLoop]: Interpolant automaton has 56 states. [2018-11-23 12:26:01,637 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 115 transitions. [2018-11-23 12:26:01,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2018-11-23 12:26:01,638 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:26:01,638 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:26:01,639 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:26:01,639 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:26:01,639 INFO L82 PathProgramCache]: Analyzing trace with hash -1794473227, now seen corresponding path program 14 times [2018-11-23 12:26:01,639 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:26:01,639 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:26:01,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:26:01,640 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:26:01,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:26:01,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:26:01,945 INFO L256 TraceCheckUtils]: 0: Hoare triple {10826#true} call ULTIMATE.init(); {10826#true} is VALID [2018-11-23 12:26:01,945 INFO L273 TraceCheckUtils]: 1: Hoare triple {10826#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {10826#true} is VALID [2018-11-23 12:26:01,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10826#true} {10826#true} #63#return; {10826#true} is VALID [2018-11-23 12:26:01,946 INFO L256 TraceCheckUtils]: 4: Hoare triple {10826#true} call #t~ret5 := main(); {10826#true} is VALID [2018-11-23 12:26:01,946 INFO L273 TraceCheckUtils]: 5: Hoare triple {10826#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {10826#true} is VALID [2018-11-23 12:26:01,947 INFO L273 TraceCheckUtils]: 6: Hoare triple {10826#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,947 INFO L273 TraceCheckUtils]: 7: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,948 INFO L273 TraceCheckUtils]: 8: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,948 INFO L273 TraceCheckUtils]: 9: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,948 INFO L273 TraceCheckUtils]: 10: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,949 INFO L273 TraceCheckUtils]: 11: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,949 INFO L273 TraceCheckUtils]: 12: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,949 INFO L273 TraceCheckUtils]: 13: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,950 INFO L273 TraceCheckUtils]: 14: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,950 INFO L273 TraceCheckUtils]: 15: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,951 INFO L273 TraceCheckUtils]: 16: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,951 INFO L273 TraceCheckUtils]: 17: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,952 INFO L273 TraceCheckUtils]: 18: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,953 INFO L273 TraceCheckUtils]: 19: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,953 INFO L273 TraceCheckUtils]: 20: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,954 INFO L273 TraceCheckUtils]: 21: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,954 INFO L273 TraceCheckUtils]: 22: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,955 INFO L273 TraceCheckUtils]: 23: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,955 INFO L273 TraceCheckUtils]: 24: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,956 INFO L273 TraceCheckUtils]: 25: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,957 INFO L273 TraceCheckUtils]: 26: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,957 INFO L273 TraceCheckUtils]: 27: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,958 INFO L273 TraceCheckUtils]: 28: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,958 INFO L273 TraceCheckUtils]: 29: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,959 INFO L273 TraceCheckUtils]: 30: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,960 INFO L273 TraceCheckUtils]: 31: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,960 INFO L273 TraceCheckUtils]: 32: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,961 INFO L273 TraceCheckUtils]: 33: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,962 INFO L273 TraceCheckUtils]: 34: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10835#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:26:01,962 INFO L273 TraceCheckUtils]: 35: Hoare triple {10835#(<= ~SIZE~0 (+ main_~i~0 8))} assume !!(~i~0 >= 0); {10835#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:26:01,963 INFO L273 TraceCheckUtils]: 36: Hoare triple {10835#(<= ~SIZE~0 (+ main_~i~0 8))} assume !(~i~0 - 1 >= 0); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:01,964 INFO L273 TraceCheckUtils]: 37: Hoare triple {10836#(<= ~SIZE~0 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:01,964 INFO L273 TraceCheckUtils]: 38: Hoare triple {10836#(<= ~SIZE~0 8)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:01,965 INFO L273 TraceCheckUtils]: 39: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(~i~0 >= 0); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:01,965 INFO L273 TraceCheckUtils]: 40: Hoare triple {10836#(<= ~SIZE~0 8)} ~i~0 := 0; {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:26:01,966 INFO L273 TraceCheckUtils]: 41: Hoare triple {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:26:01,966 INFO L256 TraceCheckUtils]: 42: Hoare triple {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,966 INFO L273 TraceCheckUtils]: 43: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,967 INFO L273 TraceCheckUtils]: 44: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,967 INFO L273 TraceCheckUtils]: 45: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,968 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {10826#true} {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} #67#return; {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:26:01,968 INFO L273 TraceCheckUtils]: 47: Hoare triple {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} havoc #t~mem4; {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} is VALID [2018-11-23 12:26:01,969 INFO L273 TraceCheckUtils]: 48: Hoare triple {10837#(and (<= ~SIZE~0 8) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,970 INFO L273 TraceCheckUtils]: 49: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,970 INFO L256 TraceCheckUtils]: 50: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,970 INFO L273 TraceCheckUtils]: 51: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,970 INFO L273 TraceCheckUtils]: 52: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,970 INFO L273 TraceCheckUtils]: 53: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,971 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {10826#true} {10834#(<= ~SIZE~0 (+ main_~i~0 7))} #67#return; {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,972 INFO L273 TraceCheckUtils]: 55: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} havoc #t~mem4; {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:01,973 INFO L273 TraceCheckUtils]: 56: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,973 INFO L273 TraceCheckUtils]: 57: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,973 INFO L256 TraceCheckUtils]: 58: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,973 INFO L273 TraceCheckUtils]: 59: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,974 INFO L273 TraceCheckUtils]: 60: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,974 INFO L273 TraceCheckUtils]: 61: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,975 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {10826#true} {10833#(<= ~SIZE~0 (+ main_~i~0 6))} #67#return; {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,975 INFO L273 TraceCheckUtils]: 63: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} havoc #t~mem4; {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:01,976 INFO L273 TraceCheckUtils]: 64: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,977 INFO L273 TraceCheckUtils]: 65: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,977 INFO L256 TraceCheckUtils]: 66: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,977 INFO L273 TraceCheckUtils]: 67: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,977 INFO L273 TraceCheckUtils]: 68: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,977 INFO L273 TraceCheckUtils]: 69: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,978 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {10826#true} {10832#(<= ~SIZE~0 (+ main_~i~0 5))} #67#return; {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,979 INFO L273 TraceCheckUtils]: 71: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} havoc #t~mem4; {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:01,980 INFO L273 TraceCheckUtils]: 72: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,980 INFO L273 TraceCheckUtils]: 73: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,980 INFO L256 TraceCheckUtils]: 74: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,981 INFO L273 TraceCheckUtils]: 75: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,981 INFO L273 TraceCheckUtils]: 76: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,981 INFO L273 TraceCheckUtils]: 77: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,982 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {10826#true} {10831#(<= ~SIZE~0 (+ main_~i~0 4))} #67#return; {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,982 INFO L273 TraceCheckUtils]: 79: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} havoc #t~mem4; {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:01,983 INFO L273 TraceCheckUtils]: 80: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,984 INFO L273 TraceCheckUtils]: 81: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,984 INFO L256 TraceCheckUtils]: 82: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,984 INFO L273 TraceCheckUtils]: 83: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,984 INFO L273 TraceCheckUtils]: 84: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,984 INFO L273 TraceCheckUtils]: 85: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,985 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {10826#true} {10830#(<= ~SIZE~0 (+ main_~i~0 3))} #67#return; {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,986 INFO L273 TraceCheckUtils]: 87: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} havoc #t~mem4; {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:01,986 INFO L273 TraceCheckUtils]: 88: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,987 INFO L273 TraceCheckUtils]: 89: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,987 INFO L256 TraceCheckUtils]: 90: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,987 INFO L273 TraceCheckUtils]: 91: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,988 INFO L273 TraceCheckUtils]: 92: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,988 INFO L273 TraceCheckUtils]: 93: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,989 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {10826#true} {10829#(<= ~SIZE~0 (+ main_~i~0 2))} #67#return; {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,989 INFO L273 TraceCheckUtils]: 95: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} havoc #t~mem4; {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:01,990 INFO L273 TraceCheckUtils]: 96: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,990 INFO L273 TraceCheckUtils]: 97: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,991 INFO L256 TraceCheckUtils]: 98: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10826#true} is VALID [2018-11-23 12:26:01,991 INFO L273 TraceCheckUtils]: 99: Hoare triple {10826#true} ~cond := #in~cond; {10826#true} is VALID [2018-11-23 12:26:01,991 INFO L273 TraceCheckUtils]: 100: Hoare triple {10826#true} assume !(0 == ~cond); {10826#true} is VALID [2018-11-23 12:26:01,991 INFO L273 TraceCheckUtils]: 101: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:01,992 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {10826#true} {10828#(<= ~SIZE~0 (+ main_~i~0 1))} #67#return; {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,993 INFO L273 TraceCheckUtils]: 103: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} havoc #t~mem4; {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:01,993 INFO L273 TraceCheckUtils]: 104: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10838#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-23 12:26:01,994 INFO L273 TraceCheckUtils]: 105: Hoare triple {10838#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10827#false} is VALID [2018-11-23 12:26:01,994 INFO L256 TraceCheckUtils]: 106: Hoare triple {10827#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10827#false} is VALID [2018-11-23 12:26:01,995 INFO L273 TraceCheckUtils]: 107: Hoare triple {10827#false} ~cond := #in~cond; {10827#false} is VALID [2018-11-23 12:26:01,995 INFO L273 TraceCheckUtils]: 108: Hoare triple {10827#false} assume 0 == ~cond; {10827#false} is VALID [2018-11-23 12:26:01,995 INFO L273 TraceCheckUtils]: 109: Hoare triple {10827#false} assume !false; {10827#false} is VALID [2018-11-23 12:26:02,006 INFO L134 CoverageAnalysis]: Checked inductivity of 376 backedges. 115 proven. 149 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-23 12:26:02,006 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:26:02,006 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:26:02,016 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:26:02,053 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:26:02,053 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:26:02,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:26:02,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:26:02,419 INFO L256 TraceCheckUtils]: 0: Hoare triple {10826#true} call ULTIMATE.init(); {10826#true} is VALID [2018-11-23 12:26:02,419 INFO L273 TraceCheckUtils]: 1: Hoare triple {10826#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {10826#true} is VALID [2018-11-23 12:26:02,419 INFO L273 TraceCheckUtils]: 2: Hoare triple {10826#true} assume true; {10826#true} is VALID [2018-11-23 12:26:02,419 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10826#true} {10826#true} #63#return; {10826#true} is VALID [2018-11-23 12:26:02,420 INFO L256 TraceCheckUtils]: 4: Hoare triple {10826#true} call #t~ret5 := main(); {10826#true} is VALID [2018-11-23 12:26:02,420 INFO L273 TraceCheckUtils]: 5: Hoare triple {10826#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {10826#true} is VALID [2018-11-23 12:26:02,421 INFO L273 TraceCheckUtils]: 6: Hoare triple {10826#true} assume ~SIZE~0 > 1;havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~i~0 := ~SIZE~0 - 1; {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:02,421 INFO L273 TraceCheckUtils]: 7: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 >= 0); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:02,422 INFO L273 TraceCheckUtils]: 8: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:02,422 INFO L273 TraceCheckUtils]: 9: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10828#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-23 12:26:02,422 INFO L273 TraceCheckUtils]: 10: Hoare triple {10828#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:02,423 INFO L273 TraceCheckUtils]: 11: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} assume !!(~i~0 >= 0); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:02,423 INFO L273 TraceCheckUtils]: 12: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:02,423 INFO L273 TraceCheckUtils]: 13: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10829#(<= ~SIZE~0 (+ main_~i~0 2))} is VALID [2018-11-23 12:26:02,424 INFO L273 TraceCheckUtils]: 14: Hoare triple {10829#(<= ~SIZE~0 (+ main_~i~0 2))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:02,425 INFO L273 TraceCheckUtils]: 15: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} assume !!(~i~0 >= 0); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:02,425 INFO L273 TraceCheckUtils]: 16: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:02,426 INFO L273 TraceCheckUtils]: 17: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10830#(<= ~SIZE~0 (+ main_~i~0 3))} is VALID [2018-11-23 12:26:02,427 INFO L273 TraceCheckUtils]: 18: Hoare triple {10830#(<= ~SIZE~0 (+ main_~i~0 3))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:02,427 INFO L273 TraceCheckUtils]: 19: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} assume !!(~i~0 >= 0); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:02,428 INFO L273 TraceCheckUtils]: 20: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:02,428 INFO L273 TraceCheckUtils]: 21: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10831#(<= ~SIZE~0 (+ main_~i~0 4))} is VALID [2018-11-23 12:26:02,429 INFO L273 TraceCheckUtils]: 22: Hoare triple {10831#(<= ~SIZE~0 (+ main_~i~0 4))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:02,430 INFO L273 TraceCheckUtils]: 23: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} assume !!(~i~0 >= 0); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:02,430 INFO L273 TraceCheckUtils]: 24: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:02,431 INFO L273 TraceCheckUtils]: 25: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10832#(<= ~SIZE~0 (+ main_~i~0 5))} is VALID [2018-11-23 12:26:02,432 INFO L273 TraceCheckUtils]: 26: Hoare triple {10832#(<= ~SIZE~0 (+ main_~i~0 5))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:02,432 INFO L273 TraceCheckUtils]: 27: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} assume !!(~i~0 >= 0); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:02,433 INFO L273 TraceCheckUtils]: 28: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:02,433 INFO L273 TraceCheckUtils]: 29: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10833#(<= ~SIZE~0 (+ main_~i~0 6))} is VALID [2018-11-23 12:26:02,434 INFO L273 TraceCheckUtils]: 30: Hoare triple {10833#(<= ~SIZE~0 (+ main_~i~0 6))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:02,434 INFO L273 TraceCheckUtils]: 31: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} assume !!(~i~0 >= 0); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:02,435 INFO L273 TraceCheckUtils]: 32: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} assume ~i~0 - 1 >= 0;call write~int(~i~0 - 2, ~#a~0.base, ~#a~0.offset + 4 * (~i~0 - 1), 4); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:02,436 INFO L273 TraceCheckUtils]: 33: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10834#(<= ~SIZE~0 (+ main_~i~0 7))} is VALID [2018-11-23 12:26:02,436 INFO L273 TraceCheckUtils]: 34: Hoare triple {10834#(<= ~SIZE~0 (+ main_~i~0 7))} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10835#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:26:02,437 INFO L273 TraceCheckUtils]: 35: Hoare triple {10835#(<= ~SIZE~0 (+ main_~i~0 8))} assume !!(~i~0 >= 0); {10835#(<= ~SIZE~0 (+ main_~i~0 8))} is VALID [2018-11-23 12:26:02,438 INFO L273 TraceCheckUtils]: 36: Hoare triple {10835#(<= ~SIZE~0 (+ main_~i~0 8))} assume !(~i~0 - 1 >= 0); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,438 INFO L273 TraceCheckUtils]: 37: Hoare triple {10836#(<= ~SIZE~0 8)} call write~int(~i~0, ~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,439 INFO L273 TraceCheckUtils]: 38: Hoare triple {10836#(<= ~SIZE~0 8)} #t~post2 := ~i~0;~i~0 := #t~post2 - 1;havoc #t~post2; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,439 INFO L273 TraceCheckUtils]: 39: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(~i~0 >= 0); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,440 INFO L273 TraceCheckUtils]: 40: Hoare triple {10836#(<= ~SIZE~0 8)} ~i~0 := 0; {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,448 INFO L273 TraceCheckUtils]: 41: Hoare triple {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,449 INFO L256 TraceCheckUtils]: 42: Hoare triple {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,449 INFO L273 TraceCheckUtils]: 43: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,449 INFO L273 TraceCheckUtils]: 44: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,450 INFO L273 TraceCheckUtils]: 45: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,450 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {10836#(<= ~SIZE~0 8)} {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} #67#return; {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,451 INFO L273 TraceCheckUtils]: 47: Hoare triple {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} havoc #t~mem4; {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,451 INFO L273 TraceCheckUtils]: 48: Hoare triple {10962#(and (<= 0 main_~i~0) (<= ~SIZE~0 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,452 INFO L273 TraceCheckUtils]: 49: Hoare triple {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,452 INFO L256 TraceCheckUtils]: 50: Hoare triple {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,453 INFO L273 TraceCheckUtils]: 51: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,453 INFO L273 TraceCheckUtils]: 52: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,454 INFO L273 TraceCheckUtils]: 53: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,454 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {10836#(<= ~SIZE~0 8)} {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} #67#return; {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,455 INFO L273 TraceCheckUtils]: 55: Hoare triple {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} havoc #t~mem4; {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,456 INFO L273 TraceCheckUtils]: 56: Hoare triple {10987#(and (<= 1 main_~i~0) (<= ~SIZE~0 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,457 INFO L273 TraceCheckUtils]: 57: Hoare triple {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,458 INFO L256 TraceCheckUtils]: 58: Hoare triple {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,458 INFO L273 TraceCheckUtils]: 59: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,459 INFO L273 TraceCheckUtils]: 60: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,459 INFO L273 TraceCheckUtils]: 61: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,460 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {10836#(<= ~SIZE~0 8)} {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} #67#return; {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,461 INFO L273 TraceCheckUtils]: 63: Hoare triple {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} havoc #t~mem4; {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,461 INFO L273 TraceCheckUtils]: 64: Hoare triple {11012#(and (<= 2 main_~i~0) (<= ~SIZE~0 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:26:02,462 INFO L273 TraceCheckUtils]: 65: Hoare triple {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:26:02,463 INFO L256 TraceCheckUtils]: 66: Hoare triple {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,464 INFO L273 TraceCheckUtils]: 67: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,464 INFO L273 TraceCheckUtils]: 68: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,465 INFO L273 TraceCheckUtils]: 69: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,465 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {10836#(<= ~SIZE~0 8)} {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} #67#return; {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:26:02,466 INFO L273 TraceCheckUtils]: 71: Hoare triple {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} havoc #t~mem4; {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} is VALID [2018-11-23 12:26:02,467 INFO L273 TraceCheckUtils]: 72: Hoare triple {11037#(and (<= ~SIZE~0 8) (<= 3 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:26:02,468 INFO L273 TraceCheckUtils]: 73: Hoare triple {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:26:02,469 INFO L256 TraceCheckUtils]: 74: Hoare triple {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,469 INFO L273 TraceCheckUtils]: 75: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,470 INFO L273 TraceCheckUtils]: 76: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,470 INFO L273 TraceCheckUtils]: 77: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,471 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {10836#(<= ~SIZE~0 8)} {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} #67#return; {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:26:02,472 INFO L273 TraceCheckUtils]: 79: Hoare triple {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} havoc #t~mem4; {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} is VALID [2018-11-23 12:26:02,473 INFO L273 TraceCheckUtils]: 80: Hoare triple {11062#(and (<= ~SIZE~0 8) (<= 4 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,473 INFO L273 TraceCheckUtils]: 81: Hoare triple {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,474 INFO L256 TraceCheckUtils]: 82: Hoare triple {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,475 INFO L273 TraceCheckUtils]: 83: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,475 INFO L273 TraceCheckUtils]: 84: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,476 INFO L273 TraceCheckUtils]: 85: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,476 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {10836#(<= ~SIZE~0 8)} {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} #67#return; {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,477 INFO L273 TraceCheckUtils]: 87: Hoare triple {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} havoc #t~mem4; {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,478 INFO L273 TraceCheckUtils]: 88: Hoare triple {11087#(and (<= 5 main_~i~0) (<= ~SIZE~0 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:26:02,479 INFO L273 TraceCheckUtils]: 89: Hoare triple {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:26:02,480 INFO L256 TraceCheckUtils]: 90: Hoare triple {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,480 INFO L273 TraceCheckUtils]: 91: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,481 INFO L273 TraceCheckUtils]: 92: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,481 INFO L273 TraceCheckUtils]: 93: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,482 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {10836#(<= ~SIZE~0 8)} {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} #67#return; {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:26:02,483 INFO L273 TraceCheckUtils]: 95: Hoare triple {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} havoc #t~mem4; {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} is VALID [2018-11-23 12:26:02,484 INFO L273 TraceCheckUtils]: 96: Hoare triple {11112#(and (<= ~SIZE~0 8) (<= 6 main_~i~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,484 INFO L273 TraceCheckUtils]: 97: Hoare triple {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,485 INFO L256 TraceCheckUtils]: 98: Hoare triple {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,486 INFO L273 TraceCheckUtils]: 99: Hoare triple {10836#(<= ~SIZE~0 8)} ~cond := #in~cond; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,486 INFO L273 TraceCheckUtils]: 100: Hoare triple {10836#(<= ~SIZE~0 8)} assume !(0 == ~cond); {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,487 INFO L273 TraceCheckUtils]: 101: Hoare triple {10836#(<= ~SIZE~0 8)} assume true; {10836#(<= ~SIZE~0 8)} is VALID [2018-11-23 12:26:02,487 INFO L268 TraceCheckUtils]: 102: Hoare quadruple {10836#(<= ~SIZE~0 8)} {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} #67#return; {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,488 INFO L273 TraceCheckUtils]: 103: Hoare triple {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} havoc #t~mem4; {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} is VALID [2018-11-23 12:26:02,489 INFO L273 TraceCheckUtils]: 104: Hoare triple {11137#(and (<= 7 main_~i~0) (<= ~SIZE~0 8))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {11162#(and (<= ~SIZE~0 8) (<= 8 main_~i~0))} is VALID [2018-11-23 12:26:02,490 INFO L273 TraceCheckUtils]: 105: Hoare triple {11162#(and (<= ~SIZE~0 8) (<= 8 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem4 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {10827#false} is VALID [2018-11-23 12:26:02,490 INFO L256 TraceCheckUtils]: 106: Hoare triple {10827#false} call __VERIFIER_assert((if #t~mem4 >= ~i~0 then 1 else 0)); {10827#false} is VALID [2018-11-23 12:26:02,490 INFO L273 TraceCheckUtils]: 107: Hoare triple {10827#false} ~cond := #in~cond; {10827#false} is VALID [2018-11-23 12:26:02,491 INFO L273 TraceCheckUtils]: 108: Hoare triple {10827#false} assume 0 == ~cond; {10827#false} is VALID [2018-11-23 12:26:02,491 INFO L273 TraceCheckUtils]: 109: Hoare triple {10827#false} assume !false; {10827#false} is VALID [2018-11-23 12:26:02,504 INFO L134 CoverageAnalysis]: Checked inductivity of 376 backedges. 144 proven. 120 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-23 12:26:02,524 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:26:02,524 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 20] total 22 [2018-11-23 12:26:02,524 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 110 [2018-11-23 12:26:02,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:26:02,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:26:02,657 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:26:02,657 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:26:02,657 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:26:02,658 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=170, Invalid=292, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:26:02,658 INFO L87 Difference]: Start difference. First operand 113 states and 115 transitions. Second operand 22 states.